mig1 と mig2 の 2 つの移行がある場合、rake db:migrate を実行し、次に mig1 に戻って列のデフォルト値を変更します。rake db:migrate を再度実行すると、この変更は反映されますか? または、その列だけを変更するには、新しい移行を行う必要がありますか?
3 に答える
2
次のコマンドを実行して、特定の VERSION をやり直すことができます。
rake db:migrate:down VERSION=___________
rake db:migrate:up VERSION=____________
于 2010-08-05T21:15:00.217 に答える
1
新しい移行を行うか、rakedb:rollback
タスクを使用して、問題の移行が実行される前のバージョンのデータベースに戻す必要があります。移行スクリプトへの変更は、自動的には反映されません。
スキーマの現在のバージョンが追跡され、移行に適用されるため、 rake db:migrate を実行しても古い移行は再実行されません。このため、移行時に正しい方法rollback
を提供している限り、この機能を使用できます。self.down
ロールバックすると、これらのダウン メソッドが実行され、進行中の移行が元に戻されます。
その後、移行を編集して再移行できます。
于 2010-08-05T19:45:55.583 に答える
0
rake db:migrate:redo VERSION= _ _ _
于 2010-12-30T15:21:53.230 に答える