优雅解决migrate:rollback删除指定表方法

原理:

migrate命令,它是按你创建时间依次执行(time)_create_xxx_table.php文件的up方法

migrate:rollback,将会根据batch字段的倒序执行所有(time)_create_xxx_table.php文件的down方法:dropIfExists('tableName'),也就是删除了你当前batch值的所有表,但这并不是你想要的。既然明白了原理,下面来说说怎样实现命令行优雅删除指定表:
/**本文所用的id值和表名都是示例,请稍作修改 */

一:在migrations表中找到你要删除的表记录id值并将该记录删除
DELETE FROM `migrations` WHERE `migrations`.`id` = 14
二:正常删除你需要的删除的表
DROP TABLE categories
  • 强制覆盖运行iseed ·php artisan iseed [tablename] --force·,一次最多只能导出2张表

2017.08.09
几次都遇到了php artisan migrate报1067错误,记录一下
错误:Syntax error or access violation: 1067 Invalid default value for 'is_spec'
解决方案,将tinyInteger()、integer()类型的字段写的限制长度值去掉,没有那个限制长度参数,长度参数只存在与string()类型

你可能感兴趣的:(优雅解决migrate:rollback删除指定表方法)