26

、、および移行クラス ファイルを取得a.phpしたb.phpとします。artisan コマンドを使用して、特定の移行状態、たとえば内で定義された状態にロールバックする方法は?c.phpd.phpb.php

4

9 に答える 9

5

私の経験では。migrate:rollback はしません。通常、以前の移行を「元に戻す/ロールバック」するために必要なすべての変更を行う別の移行を作成します。

このようにして、2-x ステップ前にロールバックしたい場合に柔軟に対応できます。必要な変更を有効にする新しい移行を作成してから、php artisan migrate によって新しい移行を実行できます。

于 2014-07-02T01:10:24.830 に答える
2

本当にやりたい場合は、移行テーブルを照会し、目的のファイルを探し、ロールバックする回数を計算するカスタム関数を作成できます。その後、「migrate:rollback」のループを、必要な移行...

于 2013-07-17T11:57:18.927 に答える
1

簡単で汚い方法があります:

migrationsがありa.phpb.phpおよびc.phpをロールバックしたいc場合は、構文エラーが発生するようにb単純に変更できa.phpます... セミコロンなどを削除します。

そのため、実行するとと のphp artisan migrate:rollback両方がロールバックされ、 でエラーが発生して停止します。それ以降は、 のロールバックが最後の移行操作と見なされます。cbacb

で意図的に作成したエラーを修正することを忘れないでくださいa.php

于 2015-09-28T14:09:18.153 に答える
0

Laravel は php artisan migrate:rollback を提供して移行スクリプトをロールバックするだけなので、選択した移行スクリプトをロールバックする最良の方法は、新しい移行スクリプトを作成し、そのスクリプトを (選択した移行スクリプトの) down メソッドに新しく作成されたスクリプトに配置することです。移行スクリプト。この助けを願っています。

于 2014-04-03T08:03:59.373 に答える