0

既に運用サーバーに公開されている Web プロジェクトがあります。私の開発マシンでは、モデル クラスにいくつかの変更を加え、Update-Databaserun なしで実行しAdd-Migrationました。私がしようとしました

Update-Database -TargetMigration:"201304020555457_previous_migration"

しかし、私はエラーが発生しました

データが失われるため、自動移行は適用されませんでした。

本番サーバーに適用するための完全な SQL スクリプトを取得できるようにロールバックするにはどうすればよいですか?

アップデート:

コードを公開し、ブラウザでページを開始すると、実行後にデータベースの変更 (列の追加) が行われました。私は何もする必要はありません。Add-Migration毎回実行する必要が本当にないということですか?

4

2 に答える 2

0

初期化子がMigrateDatabaseToLatestVersionであり、構成でAutomaticMigrationsEnabledが true に設定されている場合、可能であれば移行を必要とせずにデータベースを更新します。

本当に文書化したい、または変更したい変更の移行のみを追加したい場合は、単純な列の追加をスキップして、たとえば列の名前を変更するための移行を追加できます。

しかし、もしあなたが私なら、移行を完了したままにして、さらに先の問題を回避します。

于 2013-05-14T15:09:50.107 に答える
0

行った変更を元に戻し、Update-Database を実行できます。次に、変更を再度行い、今度は Add-Migration を実行します

于 2013-05-07T03:55:43.040 に答える