thinkphp5 migrate数据库迁移工具


Posted in PHP onFebruary 20, 2018

tp5相对与tp3.2有很大的不同

migrate是其中一点,通过migrate程序员可以在php代码中创建数据库修改回滚等操作

首先下载migrate扩展,命令行到当前项目目录下执行

composer require topthink/think-migration

通过使用php think命令可以查看migrate是否成功下载

thinkphp5 migrate数据库迁移工具

使用migrate:create migrate文件名(首字母大写的驼峰法),在database下生成migrate文件

有可能建立失败提示没有什么方法一般是composer获取的tp版本过低,考虑修改composer.json文件里的migrate的版本为1.*或^1.0

重新composer update即可

thinkphp5 migrate数据库迁移工具

在application 下的 database.php 里配置好数据库

以下是其中一份migrate文件的内容(创建完后有一个默认方法change(),删除它)

use think\migration\Migrator;
 use think\migration\db\Column;
 
 class CreateUserTable extends Migrator
 {
   
   /**
   * 建立用户表
   */
   public function up(){
     $table = $this->table('user');
     $table->addColumn('username' , 'string' , ['limit' => 30])
        ->addColumn('passwork' , 'string' , ['limit' => 32])
        ->addColumn('email' , 'string' , ['limit' => 25])
        ->addColumn('lastlogin_ip' , 'string' , ['limit' => 15])
        ->addTimestamps('create_time' , 'lastlogin_time')
        ->addColumn('status' , 'integer' , ['limit' => 1 , 'default' => 1])
        ->setId('user_id')
        ->save();
   }
   
   /**
   * 提供回滚的删除用户表方法
   */
   public function down(){
     $this->dropTable('user');
   }
 }

以上的一些方法 ,官方给予的文档我没看到在哪,网上我看的是小腾讲解的

使用migrate:run会执行所有的migrate的up方法

通过migrate:rollback可以回滚上一条执行的migrate文件(带 -t  0 参数回滚全部)

通过migrate:status可以查看当前migrate执行的情况

执行run方法后,user表建立成功

thinkphp5 migrate数据库迁移工具

非常的方便

PHP 相关文章推荐
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
Nov 07 PHP
PHP 中检查或过滤IP地址的实现代码
Nov 27 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 PHP
将二维数组转为一维数组的2种方法
May 26 PHP
php中JSON的使用与转换
Jan 14 PHP
PHP面向对象之后期静态绑定功能介绍
May 18 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
php代码调试利器firephp安装与使用方法分析
Aug 21 PHP
php实现大文件断点续传下载实例代码
Oct 01 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
Mar 09 PHP
详解PHP Swoole与TCP三次握手
May 27 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 #PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 #PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 #PHP
浅析PHP数据导出知识点
Feb 17 #PHP
PHP 应用容器化以及部署方法
Feb 12 #PHP
PHP使用Redis长连接的方法详解
Feb 12 #PHP
PHP长连接实现与使用方法详解
Feb 11 #PHP
You might like
很好用的PHP数据库类
2009/05/27 PHP
php microtime获取浮点的时间戳
2010/02/21 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
PHP simplexml_load_string()函数实例讲解
2019/02/03 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
PHP+MySQL实现在线测试答题实例
2020/01/02 PHP
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
javascript中普通函数的使用介绍
2013/12/19 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
JavaScript中最常见的三个面试题解析
2017/03/04 Javascript
JavaScript实现省市县三级级联特效
2017/05/16 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
Vuex 模块化使用详解
2019/07/31 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
python 编码规范整理
2018/05/05 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
电子商务专业学生的学习自我评价
2013/10/27 职场文书
大学生求职信范文应怎么写
2014/01/01 职场文书
好人好事演讲稿
2014/09/01 职场文书
师德师风整改措施
2014/10/24 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis
新手入门Mysql--sql执行过程
2021/06/20 MySQL