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读取30天之内的根据算法排序的代码
Apr 06 PHP
PHP 判断常量,变量和函数是否存在
Apr 26 PHP
利用PHP实现图片等比例放大和缩小的方法详解
Jun 06 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
Jun 07 PHP
基于php iconv函数的使用详解
Jun 09 PHP
php.ini 配置文件的深入解析
Jun 17 PHP
PHP采集类Snoopy抓取图片实例
Jun 19 PHP
PHP查询快递信息的方法
Mar 07 PHP
浅谈laravel中的关联查询with的问题
Oct 10 PHP
laravel config文件配置全局变量的例子
Oct 13 PHP
PHP常用函数之格式化时间操作示例
Oct 21 PHP
PHP数组Key强制类型转换实现原理解析
Sep 01 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
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
简介PHP的Yii框架中缓存的一些高级用法
2016/03/29 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
让您的菜单不离网站
2006/10/03 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
2014/06/05 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
2015/12/24 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
Python爬虫实现验证码登录代码实例
2019/05/10 Python
python实现按行分割文件
2019/07/22 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
感恩祖国演讲稿
2014/09/09 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
2016教师国培研修感言
2015/12/08 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
90行Python代码开发个人云盘应用
2021/04/20 Python
php访问对象中的成员的实例方法
2021/11/17 PHP
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers