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 相关文章推荐
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
Mar 15 PHP
PHP 日,周,月点击排行统计
Jan 11 PHP
深入PHP nl2br()格式化输出的详解
Jun 05 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
PHP常用设计模式之委托设计模式
Feb 13 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
PHP基本语法实例总结
Sep 09 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
Dec 19 PHP
PHP错误处理函数register_shutdown_function使用示例
Jul 03 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
May 27 PHP
php使用scandir()函数扫描指定目录下所有文件示例
Jun 08 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
Oct 21 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 中的批处理的实现
2007/06/14 PHP
PHP输出数组中重名的元素的几种处理方法
2012/09/05 PHP
php中有关合并某一字段键值相同的数组合并的改进
2015/03/10 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
JS继承 笔记
2011/07/13 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
2016/09/14 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
在vue中获取dom元素内容的方法
2017/07/10 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
浅析python中的分片与截断序列
2016/08/09 Python
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
python实现按首字母分类查找功能
2019/10/31 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
Python基于jieba, wordcloud库生成中文词云
2020/05/13 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
python自动生成sql语句的脚本
2021/02/24 Python
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
美国Max仓库:Max Warehouse
2020/05/31 全球购物
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
函授本科自我鉴定
2013/11/03 职场文书
日语专业个人求职信范文
2014/02/02 职场文书
婚礼主持结束词
2014/03/13 职场文书
医学生自荐信范文
2015/03/05 职场文书