既に運用中のサイトでカラム追加などの操作を行いたいときとか。
通常は「php artisan migrate」で差分migrateが実行されるが、そこでエラーが出たりしたらひとまず下記で逃げ切る。
php artisan migrate:refresh --step=1 --path=/database/migrations/xxx_table.php
そもそもどんなエラーが出るか?
migrationでDB管理しているのにmigrate使わずSQLでテーブル作ったりしたら既にテーブル存在してるでエラーが出たりする。
そういった場合は、上記コマンドで通らないmigrateファイルをスキップして無理矢理通すこともできるが、根本解決にはならない。
なので力技でmigrationsテーブルに直接migrate情報を追加してやることで正常に戻す。
-- xxx_table:マイグレーションファイル名、n:バッチ回数
insert into migrations (migration, batch) values ('xxx_table', n);
ただし、DBの状態を正確に把握してからやらないと大変なことになるかもなので慎重に。