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下常用正则表达式整理
Oct 26 PHP
php 抽象类的简单应用
Sep 06 PHP
php解析http获取的json字符串变量总是空白null
Mar 02 PHP
分享PHP计算两个日期相差天数的代码
Dec 23 PHP
Symfony2框架创建项目与模板设置实例详解
Mar 17 PHP
Zend Framework入门知识点小结
Mar 19 PHP
php中__toString()方法用法示例
Dec 07 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
Jan 13 PHP
PHP中常用的魔术方法
Apr 28 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
Jun 08 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
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
微信小程序删除处理详解
2017/08/16 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
Python数据类型学习笔记
2016/01/13 Python
详解Python中的from..import绝对导入语句
2016/06/21 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
三个python爬虫项目实例代码
2019/12/28 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
python打开音乐文件的实例方法
2020/07/21 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
Laravel中Kafka的使用详解
2021/03/24 PHP
财务分析个人的自荐书范文
2013/11/24 职场文书
公司市场部岗位职责
2013/12/02 职场文书
法定代表人授权委托书
2014/04/04 职场文书
跑操口号
2014/06/12 职场文书
教室标语大全
2014/06/21 职场文书
医药销售自我评价200字
2014/09/11 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书