プロジェクトにMigrator.netを実装しており、現在のスキーマからテーブルを削除しています。私のUp()
単に含まれていますDatabase.RemoveTable("FooTable")
。しかし、今、私は自分のために何をすべきかについて少し途方に暮れていますDown()
. 上の変更について、過去のすべての移行を手動で解析する必要がありFooTable
ますか? のFooTableで以前のすべての移行を実行する方法はありDown()
ますか?
質問する
522 次
2 に答える
3
データはどうですか?50,000 行があった場合、空のテーブルを再作成しても、以前の状態にはロールバックされません。
データを使用してデータベースのダウングレードを有効にするには、次のことを行う必要があります。
- Up() で、データ モデルからテーブルを切り離し (FK をドロップするなど)、名前を DeleteMe_FooTable などに変更します。ただし、実際には落とさないでください。
- Down() で、データ モデルに再アタッチします。名前を元の名前に変更し、FK を復元します。
- デプロイから数日または数週間後、ロールバックしないことが 100% 保証されていることがわかったら、DBA はテーブルを手動で削除できます。
于 2011-08-22T09:03:01.370 に答える
0
アイデアは、メソッドDown()
の効果を逆にするということです。Up()
技術的には、実行しUp()
たDown()
直後にデータベーススキーマが元の場所に戻るということです。
あなたの場合、あなたのテーブルを再作成する必要がありますDown()
于 2011-04-14T16:14:15.983 に答える