ActiveRecord 経由で SchemaExport を使用しています。デフォルトでは、次のようなテーブルが生成されます。
create table List (
Id UNIQUEIDENTIFIER not null,
Name NVARCHAR(255) null,
OwnerId UNIQUEIDENTIFIER null,
primary key ( Id ))
その後、SQL Server はデフォルトで主キーのクラスター化インデックスを追加します。しかし、私はこれを非クラスター化したいと考えています。これははるかに効率的であるため、クラスター化されたインデックスを OwnerId に追加したいと考えています。
これで、後でスクリプトを実行して非クラスター化インデックスを作成できるようになりました。これには、元の主キー制約を削除し、クラスター化されていないものを追加する必要があります。ただし、SchemaExport はすでにすべての外部キー制約を作成しているため、主キーを削除できません。
そのため、FK4BAD9607D2BEDDB5 のような役に立たない名前を持つ外部キーを削除してから、それらを再作成する必要があります (これを自動的にやり直すことはできますか?)。それはすべて少し頭痛の種です。
どうにかしてそこに入り、主キーが生成するときに非クラスター化仕様を主キーに追加できれば、はるかに簡単になります。これを行うためにオーバーライドできるエクスポート ツールの関連ビットはありますか?
ありがとう