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函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
php输出xml格式字符串(用的这个)
Jul 12 PHP
说说PHP的autoLoad自动加载机制
Sep 27 PHP
php列出一个目录下的所有文件的代码
Oct 09 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
Yii Framework框架获取分类下面的所有子类方法
Jun 20 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
PHP生成静态HTML页面最简单方法示例
Apr 09 PHP
PHP实现的简单缓存类
Jul 29 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
Aug 11 PHP
thinkPHP框架实现的无限回复评论功能示例
Jun 09 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 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
用cookies来跟踪识别用户
2006/10/09 PHP
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
2021/03/09 PHP
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
Python global全局变量函数详解
2018/09/18 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
在python image 中实现安装中文字体
2020/05/16 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
How to spawning asynchronous work in J2EE
2016/08/29 面试题
综合测评自我鉴定
2013/10/08 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
食品安全工作实施方案
2014/03/26 职场文书
产假请假条
2014/04/10 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
2014年纪检工作总结
2014/11/12 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
python for循环赋值问题
2021/06/03 Python
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL