数据库迁移工具-j9九游
数据库迁移工具
首先通过 composer 安装
composer require topthink/think-migration
注意事项,不支持修改文件配置目录
在命令行下运行查看帮助,可以看到新增的命令
php think
migrate migrate:create create a new migration migrate:rollback rollback the last or to a specific migration migrate:run migrate the database migrate:status show migration status optimize optimize:autoload optimizes psr0 and psr4 packages to be loaded wit h classmaps too, good for production. optimize:config build config and common file cache. optimize:route build route cache. optimize:schema build database schema cache. seed seed:create create a new database seeder seed:run run database seeders
创建迁移类,首字母必须为大写
php think migrate:create users
可以看到目录下有新文件 .\database\migrations\20161117144043_users.php
使用实例
table('users',array('engine'=>'myisam')); $table->addcolumn('username', 'string',array('limit' => 15,'default'=>'','comment'=>'用户名,登陆使用')) ->addcolumn('password', 'string',array('limit' => 32,'default'=>md5('123456'),'comment'=>'用户密码')) ->addcolumn('login_status', 'boolean',array('limit' => 1,'default'=>0,'comment'=>'登陆状态')) ->addcolumn('login_code', 'string',array('limit' => 32,'default'=>0,'comment'=>'排他性登陆标识')) ->addcolumn('last_login_ip', 'integer',array('limit' => 11,'default'=>0,'comment'=>'最后登录ip')) ->addcolumn('last_login_time', 'datetime',array('default'=>0,'comment'=>'最后登录时间')) ->addcolumn('is_delete', 'boolean',array('limit' => 1,'default'=>0,'comment'=>'删除状态,1已删除')) ->addindex(array('username'), array('unique' => true)) ->create(); }/** * migrate up. */public function up(){ }/** * migrate down. */public function down(){ } }
对于同一个数据表,如果需要新的迁移动作,例如删除字段、创建字段,可以创建新的更改文件,像svn一样往前记录操作,方便回滚。
更具体的使用可查看
文档最后更新时间:2022-05-31 09:21:13
未解决你的问题?请到「问答社区」反馈你遇到的问题