外部キー制約を持つ一連のテーブルを含む Visual Studio データベース プロジェクトがあります。
パブリッシュ スクリプトには、制約の追加スクリプトが含まれています。
ALTER TABLE [dbo].[AttributeValue] WITH NOCHECK
ADD CONSTRAINT [FK_AttributeValue_Attribute]
FOREIGN KEY ([AttributeId]) REFERENCES [dbo].[Attribute] ([AttributeId]);
そして、スクリプトの最後で、制約を有効にしました:
ALTER TABLE [dbo].[AttributeValue] WITH CHECK CHECK CONSTRAINT [FK_AttributeValue_Attribute];
問題は、制約が存在しないと考えているため、制約を有効にできないことです。テーブルを確認すると、存在しないことを確認できます。
制約が作成されていないのはなぜですか?
スクリプトを単独で実行すると、作成が機能し、有効化が機能します。