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 相关文章推荐
ADODB类使用
Nov 25 PHP
source.php查看源文件
Dec 09 PHP
php网页后退不再出现过期
Mar 08 PHP
php读取30天之内的根据算法排序的代码
Apr 06 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
Apr 24 PHP
phpmailer发送gmail邮件实例详解
Jun 24 PHP
PHP函数http_build_query使用详解
Aug 20 PHP
推荐几个开源的微信开发项目
Dec 28 PHP
php转换颜色为其反色的方法
Apr 27 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
Dec 22 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
Nov 02 PHP
WAF的正确bypass
Jan 05 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(3) php 函数
2010/02/15 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
微信小程序实现手指触摸画板
2018/07/09 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
javascript中floor使用方法总结
2019/02/02 Javascript
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
Python整数对象实现原理详解
2019/07/01 Python
详解python如何引用包package
2020/06/07 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
应届生自荐信
2014/06/30 职场文书
给老婆的检讨书
2015/01/27 职场文书
创建文明城市倡议书
2015/04/28 职场文书
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android