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面向对象的方法重载两种版本比较
Sep 08 PHP
PHP 巧用数组降低程序的时间复杂度
Jan 01 PHP
php中在PDO中使用事务(Transaction)
May 14 PHP
PHP几个数学计算的内部函数学习整理
Aug 06 PHP
PHP 关于访问控制的和运算符优先级介绍
Jul 08 PHP
php绘图中显示不出图片的原因及解决
Mar 05 PHP
php遍历数组的4种方法总结
Jul 05 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 PHP
利用switch语句进行多选一判断的实例代码
Nov 14 PHP
PHP基于ip2long实现IP转换整形
Dec 11 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
FCKeditor的安装(PHP)
2007/01/13 PHP
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
smarty模板数学运算示例
2016/12/11 PHP
ThinkPHP删除栏目(实现批量删除栏目)
2017/06/21 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
PHP 7.4中使用预加载的方法详解
2019/07/08 PHP
Javascript 不能释放内存.
2006/09/07 Javascript
js查找父节点的简单方法
2008/06/28 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
图文详解WinPE下安装Python
2016/05/17 Python
numpy中的高维数组转置实例
2018/04/17 Python
python实现抖音视频批量下载
2018/06/20 Python
使用python语言,比较两个字符串是否相同的实例
2018/06/29 Python
python使用thrift教程的方法示例
2019/03/21 Python
同程旅游英文网站:LY.com
2018/11/13 全球购物
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
营销团队口号
2014/06/06 职场文书
社区护士演讲稿
2014/08/27 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书