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生成月历代码
Jun 14 PHP
检测png图片是否完整的php代码
Sep 06 PHP
php 抽象类的简单应用
Sep 06 PHP
跟我学Laravel之快速入门
Oct 15 PHP
微信公众平台消息接口校验与消息接口响应实例
Dec 23 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
实现PHP搜索加分页
Oct 12 PHP
PHP实现递归目录的5种方法
Oct 27 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
Jan 16 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
Sep 15 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使用ereg验证文件上传的方法
2014/12/16 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
jQuery动态创建html元素的常用方法汇总
2014/09/05 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
ionic实现带字的toggle滑动组件
2016/08/27 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
Python修改Excel数据的实例代码
2013/11/01 Python
python开发之文件操作用法实例
2015/11/13 Python
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
Python实现网站注册验证码生成类
2017/06/08 Python
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
pycharm+django创建一个搜索网页实例代码
2018/01/24 Python
Python简单实现两个任意字符串乘积的方法示例
2018/04/12 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
Java程序开发中如何应用线程
2016/03/03 面试题
内衣营销方案
2014/03/15 职场文书
人民调解员培训方案
2014/06/05 职场文书
立志成才演讲稿
2014/09/04 职场文书
团代会邀请函
2015/02/02 职场文书
2015年纪委工作总结
2015/05/13 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书
中学生运动会广播稿
2015/08/19 职场文书
一个家长教育孩子的心得体会
2016/01/15 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android