私はEF5を使用する4人の開発者のチームで作業しており、全員が独自のローカルデータベースで作業しています。これまで自動移行を使用してきましたが、本番環境にリリースする必要がある段階に近づいているため、自動移行を無効にし、明示的なコードベースの移行を追加し始めました。
問題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
、正常に実行され、「自動移行...」については何も言及されていません。また、Add-Migrationを実行したときに私が作成した移行のコードは、チームメートが作成したコードと同じです。以来、なぜ自動移行を行おうとするのかわかりませんAutomaticMigrationsEnabled = false;
。
ここで何が欠けていますか?