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下用cookie统计用户访问网页次数的代码
May 09 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
May 16 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
May 26 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
Jul 28 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
May 04 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
php-fpm中max_children的配置
Mar 15 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
Aug 11 PHP
聊聊 PHP 8 新特性 Attributes
Aug 19 PHP
PHP 实现链式操作
Mar 09 PHP
详解PHP设计模式之依赖注入模式
May 25 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连接MYSQL成功与否的代码
2013/08/16 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
深入理解python中的闭包和装饰器
2016/06/12 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
python实现简单的单变量线性回归方法
2018/11/08 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
tensorflow如何批量读取图片
2019/08/29 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
python全栈开发语法总结
2020/11/22 Python
css3选择器基本介绍
2014/12/15 HTML / CSS
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
英国银首饰公司:e&e Jewellery
2021/02/11 全球购物
2014年预备党员学习两会心得体会
2014/03/17 职场文书
关于安全的演讲稿
2014/05/09 职场文书
城市创卫标语
2014/06/17 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
表扬稿范文
2015/01/17 职场文书
新闻稿件写作范文
2015/07/18 职场文书
多表查询、事务、DCL
2021/04/05 MySQL
html5实现点击弹出图片功能
2021/07/16 HTML / CSS