生きることは簡単です

日々細々と生きています

SQLServerで「オブジェクト 'xxxx' は 列 'xxxx' に依存しています」のエラーが出る

マイグレーションを実行したら出たエラーで、解決にちょっと時間が掛かったので備忘録を兼ねて。

エラーの全文はこんな感じ。

オブジェクト 'xxxx' は 列 '(カラム名)' に依存しています

(SQL文) は失敗しました。1 つ以上のオブジェクトがこの 列 を参照しています。

さっそく検索にかけてみると、エラーに記載のあるカラム名が何かしらの制約を持っているということらしい。ということなので、とりあえず主キー制約や外部キー制約に設定されていないかを確認してみました。

 

...が、どうやら主キー・外部キー制約はない様子。「どういうこと??」と試行錯誤したところ、該当のカラムにデフォルト値が設定されていました。デフォルト値も制約という括りに含まれるのね...。これを解除してあげたところ、エラーに引っかからなくなりました。

ということなので、記事のエラーが出た場合、主キー・外部キー制約 + デフォルト値を確認していただいて、何かしらが入っていた場合は外してあげると動くようになるとおもいます。

DB周りはまだまだ難しいですな。