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