【发布时间】:2011-03-28 07:38:18
【问题描述】:
我们通过 ActiveRecord 使用 SchemaExport。默认情况下它会生成一个这样的表:
create table List (
Id UNIQUEIDENTIFIER not null,
Name NVARCHAR(255) null,
OwnerId UNIQUEIDENTIFIER null,
primary key ( Id ))
SQL Server 然后默认为主键添加聚集索引。但我希望这是非集群的。我想向 OwnerId 添加一个聚集索引,因为这样会更有效率。
现在,我可以在之后运行一个脚本来创建一个非聚集索引。这将涉及删除原始主键约束并添加非集群约束。但是,SchemaExport 已经帮助我创建了所有外键约束,这些约束阻止我删除主键。
所以我需要删除外键,这些外键的名称无用,例如 FK4BAD9607D2BEDDB5,然后重新创建它们(我可以自动再次执行此操作吗?)。有点头疼。
如果我能以某种方式进入那里并在生成主键时向主键添加一个非聚集规范,那会容易得多。是否有相关的导出工具我可以覆盖来执行此操作?
谢谢
【问题讨论】:
标签: sql-server nhibernate sql-server-2008 schemaexport