15

Web 全体で答えが見つからない問題があります。

MsSQL で CodeFirst EF 4.3.1 Migrations を使用しています。

いくつかの移行を追加したので、2 つの移行間のアップグレード/ダウングレード用のスクリプトを作成したいと考えています。

アップグレードのために、アップグレード スクリプトを正常に再現する次のコマンドを実行します。

PM> Update-Database -Script -SourceMigration:"201205161144187_AddPostAbstract" -TargetMigration:"201205161203310_BlogLimitsAndTableRename"

ただし、ダウングレードの場合、次のエラーで失敗する次のコマンドを実行します。

PM> Update-Database -Script -SourceMigration:"201205161203310_BlogLimitsAndTableRename" -TargetMigration:"201205161144187_AddPostAbstract"
Scripting the downgrade between two specified migrations is not supported.

ダウングレード スクリプトを生成するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

16

移行 API は、「最後のバージョン」からのみダウングレードすることを期待しているようです。

BlogLimitsAndTableRename最新の移行 (最後に適用されたもの) である場合は、次を実行するだけです。

Update-Database -Script -TargetMigration:"201205161144187_AddPostAbstract"

それが最後の移行でない場合は、最初に開発データベースを元に戻す必要があります。

Update-Database -TargetMigration:"201205161203310_BlogLimitsAndTableRename"

これで、最初のコマンドを使用してスクリプトを取得できるはずです。

于 2012-06-03T19:05:39.980 に答える