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后台程序与Javascript的两种交互方式
Oct 25 PHP
使用NetBeans + Xdebug调试PHP程序的方法
Apr 12 PHP
php中使用临时表查询数据的一个例子
Feb 03 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
Jul 03 PHP
使用PHP下载CSS文件中的图片的代码
Sep 24 PHP
php通过字符串调用函数示例
Mar 02 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
Apr 03 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
微信公众号开发之语音消息识别php代码
Aug 08 PHP
php版微信公众平台实现预约提交后发送email的方法
Sep 26 PHP
详解PHP中mb_strpos的使用
Feb 04 PHP
PHP中用Trait封装单例模式的实现
Dec 18 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实现框架(一)
2006/10/09 PHP
php面向对象全攻略 (七) 继承性
2009/09/30 PHP
php调用C代码的实现方法
2014/03/11 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
javascript 写类方式之三
2009/07/05 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
WebStorm ES6 语法支持设置&babel使用及自动编译(详解)
2017/09/08 Javascript
Vue组件的使用及个人理解与介绍
2019/02/09 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
小程序实现搜索框
2020/06/19 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
javascript Canvas动态粒子连线
2020/01/01 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
python基于pyDes库实现des加密的方法
2017/04/29 Python
使用python为mysql实现restful接口
2018/01/05 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
Tensorflow限制CPU个数实例
2020/02/06 Python
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
校长先进事迹材料
2014/02/01 职场文书
《莫高窟》教学反思
2014/02/25 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
高中同学会活动方案
2014/08/14 职场文书
纪念九一八事变演讲稿:勿忘国耻
2014/09/14 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL