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

创建迁移命令:

php artisan migrate:make create_users_table

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

迁移文件:

2013_05_31_220658_create_users_table

当前回答

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

手动删除app/database/migrations/my_migration_file_name.php下的迁移文件 重置composer自动加载文件:composer dump-autoload 放松


如果你运行迁移(php artisan migrate),你可以这样做:

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

b)如果migrate:rollback不起作用,手动执行(我记得在以前的版本中migrate:rollback有bug):

手动删除app/database/migrations/my_migration_file_name.php下的迁移文件 重置composer自动加载文件:composer dump-autoload 修改数据库:从迁移表中删除最后一个条目

其他回答

这对我来说很管用:

我删除了数据库中的所有表,主要是migrations表。 PHP工匠迁移:刷新

在laravel 5.5.43

不运行php artisan migrate:fresh,这将删除所有的表

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

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

手动删除app/database/migrations/my_migration_file_name.php下的迁移文件 重置composer自动加载文件:composer dump-autoload 放松


如果你运行迁移(php artisan migrate),你可以这样做:

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

b)如果migrate:rollback不起作用,手动执行(我记得在以前的版本中migrate:rollback有bug):

手动删除app/database/migrations/my_migration_file_name.php下的迁移文件 重置composer自动加载文件:composer dump-autoload 修改数据库:从迁移表中删除最后一个条目

您可能还需要从迁移表中删除该条目。