我检查了文档,但我无法确认:如果你运行php artisan migrate:rollback,那么各种down()命令是否按相反的顺序运行?例如,如果我有迁移文件:
2014-07-01_first_migration.php
2014-07-01_second_migration.php
2014-07-01_third_migration.php
回滚触发ThirdMigration-> down(),然后是SecondMigration-> down(),最后是FirstMigration-> down()?
答案 0 :(得分:1)
简短的回答是肯定的,这正是它的运作方式。
更长的答案是肯定的 - 这是因为迁移可能包括仅向表中添加列等内容。如果你没有以相反的顺序运行它们,那么在删除列之前将删除该表!
有几种方法可以撤消迁移。这只会逆转上次迁移操作:
php artisan migrate:rollback
这会将所有迁移反转回初始数据库:
php artisan migrate:reset