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输出控制功能在简繁体转换中的应用
Oct 09 PHP
php 全文搜索和替换的实现代码
Jul 29 PHP
php结合ajax实现赞、顶、踩功能实例
May 12 PHP
php+ajax实现图片文件上传功能实例
Jun 17 PHP
PHP实现的连贯操作、链式操作实例
Jul 08 PHP
php实现的日历程序
Jun 18 PHP
PHP实现基于文本的摩斯电码生成器
Jan 11 PHP
php使用timthumb生成缩略图的方法
Jan 22 PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 PHP
php封装json通信接口详解及实例
Mar 07 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 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
基于pear auth实现登录验证
2010/02/26 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
精选的10款用于构建良好易用性网站的jQuery插件
2011/01/23 Javascript
借助script进行Http跨域请求:JSONP实现原理及代码
2013/03/19 Javascript
javascript制作游戏开发碰撞检测的封装代码
2015/03/31 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
vue轮播图插件vue-awesome-swiper
2017/11/27 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
Python变量作用范围实例分析
2015/07/07 Python
详解python调度框架APScheduler使用
2017/03/28 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
2017/08/18 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
怎样写好自我鉴定
2013/12/04 职场文书
酒店销售主管岗位职责
2014/01/04 职场文书
二年级语文教学反思
2014/02/02 职场文书
电视购物广告词
2014/03/19 职场文书
高考寄语大全
2014/04/08 职场文书
部门活动策划方案
2014/08/16 职场文书
2015年手术室工作总结
2015/05/11 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis
解决Oracle数据库用户密码过期
2022/05/11 Oracle