Мы используем SchemaExport через ActiveRecord.По умолчанию создается таблица, подобная этой:
create table List (
Id UNIQUEIDENTIFIER not null,
Name NVARCHAR(255) null,
OwnerId UNIQUEIDENTIFIER null,
primary key ( Id ))
SQL Server по умолчанию добавляет кластерный индекс для первичного ключа.Но я хочу, чтобы это было некластеризованным.Я хочу добавить кластерный индекс в OwnerId, так как это будет намного эффективнее.
Теперь я могу запустить скрипт для создания некластеризованного индекса.Это будет включать удаление исходного ограничения первичного ключа и добавление некластеризованного ограничения.Однако, SchemaExport уже услужливо создал все мои ограничения внешнего ключа, которые мешают мне отбрасывать первичный ключ.
Поэтому мне нужно удалить внешние ключи, которые имеют бесполезное имя, например FK4BAD9607D2BEDDB5, а затем воссоздать их (могу ли я сделать это снова автоматически?).Это все немного головная боль.
Было бы намного проще, если бы я мог как-то туда попасть и добавить спецификацию некластеризованную к первичному ключу при его генерации.Есть ли соответствующий бит инструмента экспорта, который я могу переопределить, чтобы сделать это?
Спасибо