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 date函数参数详解
Nov 27 PHP
PHP使用DES进行加密与解密的方法详解
Jun 06 PHP
解析php安全性问题中的:Null 字符问题
Jun 21 PHP
PHP判断变量是否为0的方法
Feb 08 PHP
php定界符
Jun 19 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
Apr 21 PHP
php实现Session存储到Redis
Nov 11 PHP
PHP实现获取并生成数据库字典的方法
May 04 PHP
php微信公众账号开发之前五个坑(一)
Sep 18 PHP
PHP编写daemon process详解及实例代码
Sep 30 PHP
PHP实现链表的定义与反转功能示例
Jun 09 PHP
php无限极分类实现方法分析
Jul 04 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 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
php文件上传表单摘自drupal的代码
2011/02/15 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
PHP引用返回用法示例
2016/05/28 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
基于JavaScript实现快速转换文本语言(繁体中文和简体中文)
2016/03/07 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
零基础写python爬虫之使用urllib2组件抓取网页内容
2014/11/04 Python
python标准算法实现数组全排列的方法
2015/03/17 Python
Python基于smtplib实现异步发送邮件服务
2015/05/28 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
详解python时间模块中的datetime模块
2016/01/13 Python
详解python之配置日志的几种方式
2017/05/22 Python
Python字典及字典基本操作方法详解
2018/01/30 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
python实现逻辑回归的示例
2020/10/09 Python
西安众合通用.net笔试题
2013/03/18 面试题
出纳员的岗位职责
2014/02/22 职场文书
团队队名口号大全
2014/06/06 职场文书
保留意见审计报告
2015/06/05 职场文书
工资证明范本
2015/06/12 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers
HTML基础详解(下)
2021/10/16 HTML / CSS