ThinkPHP如何使用migrate实现数据库迁移

thinkPHP使用migrate实现数据库迁移 thinkPHP的数据库迁移工具:topthink/think-migration 一:安装topthink/think-migr…

ThinkPHP如何使用migrate实现数据库迁移

thinkPHP使用migrate实现数据库迁移

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安装成功

5f211ef3590db.jpg

二:使用topthink/think-migration实现数据库迁移

1:创建迁移类

在命令行执行

php think migrate:create CreateUser

执行完成之后我们就和在./database/migrateions目录下创建一个migrate迁移文件

5f211f9a09f88.jpg

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;
(0)
上一篇 2023年5月13日 下午4:16
下一篇 2023年5月13日 下午4:16

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部