在拉拉维尔中安全地删除迁移

2022-08-30 06:11:20

在Laravel中,似乎有一个用于创建迁移但不删除的命令。

创建迁移命令:

php artisan migrate:make create_users_table

如果我想删除迁移,是否可以安全地删除数据库/迁移文件夹中的相应迁移文件?

迁移文件:

2013_05_31_220658_create_users_table

答案 1

我不小心创建了一个名字不好的迁移(命令:php artisan migrate:make)。我没有运行php工匠迁移)迁移,所以我决定删除它。我的步骤:

  1. 手动删除迁移文件app/database/migrations/my_migration_file_name.php
  2. 重置作曲家自动加载文件:作曲家转储自动加载
  3. 放松

如果您确实运行了迁移(php artisan migrate),则可以执行以下操作:

a) 运行 - 这是撤消上次迁移的正确方法(Thnx @Jakobud)migrate:rollback

b)如果不起作用,请手动执行(我记得在以前的版本中迁移:回滚的错误):migrate:rollback

  1. 手动删除迁移文件app/database/migrations/my_migration_file_name.php
  2. 重置作曲家自动加载文件:作曲家转储自动加载
  3. 修改数据库:从迁移表中删除最后一个条目

答案 2

如果迁移已运行(读取:已迁移),则应回滚迁移以清除数据库表中的历史记录。回滚后,您应该能够安全地删除迁移文件,然后再次继续迁移。


推荐