在Laravel中,似乎有一个创建迁移的命令,但没有删除的命令。
创建迁移命令:
php artisan migrate:make create_users_table
如果我想删除迁移,我是否可以安全地删除database/migrations文件夹中相应的迁移文件?
迁移文件:
2013_05_31_220658_create_users_table
在Laravel中,似乎有一个创建迁移的命令,但没有删除的命令。
创建迁移命令:
php artisan migrate:make create_users_table
如果我想删除迁移,我是否可以安全地删除database/migrations文件夹中相应的迁移文件?
迁移文件:
2013_05_31_220658_create_users_table
当前回答
我不小心创建了两次create_users_table。它重写了一些类,并将回滚转换为errorrexception。
您需要做的是在vendor/composer文件夹中找到autoload_classmap.php,并查找特定的代码行,例如
'CreateUsersTable' => $baseDir . '/app/database/migrations/2013_07_04_014051_create_users_table.php',
然后编辑path。那么回滚应该没问题。
其他回答
不要在生产环境中运行这个程序,但是如果你是在开发过程中,并且你想要的结果是重新开始,那么这个程序应该可以完成工作:
# php artisan migrate:fresh
在生产中,这可能不是你想要的东西,所以你应该被录用。(migrate:fresh命令将从数据库中删除所有表,然后执行migrate命令)。
这对我来说很管用:
我删除了数据库中的所有表,主要是migrations表。 PHP工匠迁移:刷新
在laravel 5.5.43
我不小心创建了两次create_users_table。它重写了一些类,并将回滚转换为errorrexception。
您需要做的是在vendor/composer文件夹中找到autoload_classmap.php,并查找特定的代码行,例如
'CreateUsersTable' => $baseDir . '/app/database/migrations/2013_07_04_014051_create_users_table.php',
然后编辑path。那么回滚应该没问题。
您可能还需要从迁移表中删除该条目。
如果迁移已经运行(读取:已迁移),那么您应该回滚迁移以清除数据库表中的历史记录。回滚后,您应该能够安全地删除迁移文件,然后再次进行迁移。