thinkPHP的数据库迁移工具:topthink/think-migration
一:安装topthink/think-migration
这里注意你安装topthink/think-migration时需要注意你的thinkPHP版本,这里我的thinkPHP版本为5.1,所以可以安装topthink/think-migration的2.0版本,无法安装3.0版本,选择你适合的版本进行安装
composer require topthink/think-migration=2.0.*
安装完成之后在命令行执行:
php think
如下表示migrate安装成功
二:使用topthink/think-migration实现数据库迁移
1:创建迁移类
在命令行执行
php think migrate:create CreateUser
执行完成之后我们就和在./database/migrateions目录下创建一个migrate迁移文件
2:实现数据库迁移
migrate方法使用文档:http://docs.phinx.org/en/latest/migrations.html
[1]:migrate代码说明:
在migrate中有三个方法
up:在migrate:run时执行(前提是文件中不存在change方法)
down:在migrate:rollback时执行(前提是文件中不存在change方法)
change:migrate:run 和migrate:rollback时执行 (如果存在该方法 则不会去执行up 与down)
一般情况下我一般将migrate文件中的change方法删除,up方法专门放置新增和更新表的操作,down方法放置删除表和删除字段操作
(1)新增表:
//createthetable$table=$this->table('user',['id'=>'user_id','comment'=>'用户表','engine'=>'MyISAM','']);$table->addColumn('user_name','string',['limit'=>15,'default'=>'','comment'=>'用户名'])->addColumn('password','string',['limit'=>15,'default'=>'','comment'=>'密码',])->addColumn('status','boolean',['limit'=>1,'default'=>0,'comment'=>'状态'])->addIndex(['user_name'],['unique'=>true])//为user_name创建索引并设置唯一(唯一索引)->addTimestamps()//默认生成create_time和update_time两个字段->create();
(2)更新表:
$this->table('user')->addColumn('test','string',['limit'=>15,'default'=>'','comment'=>'测试'])//在user表中增加一个test字段
->update();
(3)删除表:
$this->table('user')->drop();
(4)删除字段
$this->table('user')->removeColumn('test')//删除user表中的test字段->save();
[2]:migrate命令:
migrate常用的命令有三个,分别为:
phpthinkmigrate:createCreateUser#创建一个迁移类phpthinkmigrate:run#执行迁移phpthinkmigrate:rollback#迁移回滚
产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;
日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉;
本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;
部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入;
如若转载,请注明出处:https://www.chanpinyuan.cn/42851.html;