、、および移行クラス ファイルを取得a.php
したb.php
とします。artisan コマンドを使用して、特定の移行状態、たとえば内で定義された状態にロールバックする方法は?c.php
d.php
b.php
9 に答える
私の経験では。migrate:rollback はしません。通常、以前の移行を「元に戻す/ロールバック」するために必要なすべての変更を行う別の移行を作成します。
このようにして、2-x ステップ前にロールバックしたい場合に柔軟に対応できます。必要な変更を有効にする新しい移行を作成してから、php artisan migrate によって新しい移行を実行できます。
本当にやりたい場合は、移行テーブルを照会し、目的のファイルを探し、ロールバックする回数を計算するカスタム関数を作成できます。その後、「migrate:rollback」のループを、必要な移行...
簡単で汚い方法があります:
migrationsがありa.php
、b.php
およびc.php
をロールバックしたいc
場合は、構文エラーが発生するようにb
単純に変更できa.php
ます... セミコロンなどを削除します。
そのため、実行するとと のphp artisan migrate:rollback
両方がロールバックされ、 でエラーが発生して停止します。それ以降は、 のロールバックが最後の移行操作と見なされます。c
b
a
c
b
で意図的に作成したエラーを修正することを忘れないでくださいa.php
。
Laravel は php artisan migrate:rollback を提供して移行スクリプトをロールバックするだけなので、選択した移行スクリプトをロールバックする最良の方法は、新しい移行スクリプトを作成し、そのスクリプトを (選択した移行スクリプトの) down メソッドに新しく作成されたスクリプトに配置することです。移行スクリプト。この助けを願っています。