回滚laravel5中的特定迁移

Man*_*mad 1 migration rollback laravel laravel-5

我需要回滚特定的表,因为我忘了提到外键了。而且我不希望所有表的数据丢失。

我的框架是Laravel 5.4

提前谢谢大家

小智 8

你可以做

php artisan migrate:rollback --path=/database/migrations/your_file.php


Ale*_*Kim 5

我这样做:

  1. 手动删除表;
  2. 转到“迁移”表,并删除要迁移的相应行;
  3. php artisan migrate;
  4. 做完了

例如,如果您修改了名为“ Settings”的迁移,则从数据库和迁移表中删除该表,然后重新运行artisan命令。


pet*_*erm 3

迁移应该按特定顺序应用和回滚。因此,不存在重新应用任意迁移的“正确”方法。

无论如何,至少有两个选择:

  1. “故障转发”- 创建后续迁移,创建必要的 FK 并应用它。如果您已经投入生产,这是唯一正确的方法。

  2. 如果您正处于开发的早期阶段并且不想使迁移目录膨胀,您可以

    • 转储表以便保留数据
    • 回滚到此特定迁移
    • 修复并测试迁移
    • 迁移
    • 从转储中加载数据