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 缓存函数代码
Aug 27 PHP
PHP 变量的定义方法
Jan 26 PHP
php简单提示框alert封装函数
Aug 08 PHP
php empty,isset,is_null判断比较(差异与异同)
Oct 19 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
Feb 02 PHP
ThinkPHP之N方法实例详解
Jun 20 PHP
PHP图像处理类库及演示分享
May 17 PHP
php+ajax登录跳转登录实现思路
Jul 31 PHP
PHP实现的登录,注册及密码修改功能分析
Nov 25 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 PHP
PHP使用HTML5 FormData对象提交表单操作示例
Jul 02 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
php5新改动之短标记启用方法
2008/09/11 PHP
9个PHP开发常用功能函数小结
2011/07/15 PHP
php中数组首字符过滤功能代码
2012/07/31 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
node.js中的console.log方法使用说明
2014/12/09 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
pycharm远程调试openstack代码
2017/11/21 Python
分析python切片原理和方法
2017/12/19 Python
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
python读写LMDB文件的方法
2018/07/02 Python
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
利用python开发app实战的方法
2019/07/09 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
金融专业个人求职信
2013/09/22 职场文书
优秀毕业大学生推荐信
2013/11/13 职场文书
总经理助理职责
2014/02/04 职场文书
颐和园的导游词
2015/01/30 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
Python深度学习之实现卷积神经网络
2021/06/05 Python