think-migration 的官方文档太简单了,只好自己总结写了这个文档使用手册
Migrate 命令
数据库迁移命令
Create 命令
生成迁移文件模板
php think migrate:create xxx xxx首字母必须为大写,会生成一个当前时间加xxx名称的迁移版本文件模板
Run 命令
执行迁移脚本
php think migrate:run 执行被rollback的迁移版本和新增加的迁移文件
php think migrate:run -t 版本id 单独执行某个版本(tp5.0中试了不生效,在phinx有这个命令参数)
run
命令默认执行脚本的up
方法,如果有change
方法则执行change
方法忽略up
,当在 change
方法中创建或者更新表的时候你必须使用 create()
或者 update()
方法
status 命令
查看迁移日志和git log
类似
php think migrate:status 查看迁移版本的执行列表,里面有记录执行状态,已执行(up方法)还是回滚(down方法),和每个版本的id
下表是查看实例结果
Status Migration ID Started Finished Migration Name
----------------------------------------------------------------------------------
up 20200309103900 2020-03-12 16:49:09 2020-03-12 16:49:10 DesignMajor
up 20200309141759 2020-03-12 17:04:42 2020-03-12 16:49:10 DesignProduct
BREAKPOINT SET
down 20200309141811 DesignProductAttachment
down 20200312033613 EditProjectSection
down 20200312043100 DesignProductChange
down 20200312051438 DesignProductChangeAttachment
rollback 命令
回滚操作和git reset
类似
php think migrate:rollback 回滚最后一次的版本
php think migrate:rollback -t 版本id 回滚到这个版本id的时间线,和git回滚操作相似(不包含这个版本id)
php think migrate:rollback -t 0 回滚所有的版本
php think migrate:rollback -t 0 -f 如果断点阻塞了回滚,强制回滚到最初
rollback
命令默认执行脚本的down
方法,如果有change
方法则忽略up
,自动回滚change
方法的执行操作(有些操作无法支持回滚,会报异常)
Breakpoint 命令
用来设置断点,可以使你对回滚进行限制,只能回滚到断点之后的版本
php think migrate:breakpoint 将断点设在最新的迁移版本上
php think migrate:breakpoint -t 版本id 将断点打到版本id的迁移版本上
php think migrate:breakpoint -r 移除所有断点
Seed 命令
数据表的生成数据功能
Create 命令
生成seed文件模板
php think seed:create xxx xxx首字母必须为大写,会生成xxx名称的seed文件模板
Run 命令
执行seed脚本
php think seed:run 执行所有的seed文件
php think seed:run -s 文件名(不带.php后缀) 单独执行某个seed文件
网友评论