EF5を使用する4人の開発者からなるチームで、自分のローカルデータベースで作業しています。これまでは自動移行を使用していましたが、自動移行を無効にして明示的なコードベースの移行を追加するために、本番環境にリリースする必要がある時点に近づいています。ここでUpdate-Databaseは、自動マイグレーションを無効にしても自動的にマイグレーションを試みます。
は問題です:開発者は新しい明示的な移行を作成した後、私はUpdate-Database
コマンドを実行したと、私は次のエラーを取得する:
Applying code-based migrations: [201209080142319_CreatedDate.LastModifiedDate.Additions].
Applying code-based migration: 201209080142319_CreatedDate.LastModifiedDate.Additions.
Applying automatic migration: 201209080142319_CreatedDate.LastModifiedDate.Additions_AutomaticMigration.
Automatic migration was not applied because it would result in data loss.
は私が私が無効に自動的に移行したにも関わらず、このエラーが出るのはなぜ?このエラーは、明示的な移行を削除してから再構築(Add-Migration
を実行)して修正できます。その後、Update-Database
はうまく動作し、「自動マイグレーション...」について何も言及していません。また、私がマイグレーションを実行したときに作成したマイグレーションのコードは、私のチームメイトが作成したコードと同じです。 AutomaticMigrationsEnabled = false;
以降、自動移行を試みる理由がわかりません。
私はここで何が欠けていますか?
この質問は、明確に無効になっている場合でも自動移行を適用するEFについてです。自動移行を実行することは決して望ましくありません。特に、EFが自動的にデータを失わないようにしたいと思います。 –