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 相关文章推荐
php5中date()得出的时间为什么不是当前时间的解决方法
Jun 30 PHP
10条PHP编程习惯助你找工作
Sep 29 PHP
php 清除网页病毒的方法
Dec 05 PHP
PHP 批量删除 sql语句
Jun 05 PHP
9个PHP开发常用功能函数小结
Jul 15 PHP
PHP实现对文本数据库的常用操作方法实例演示
Jul 04 PHP
通过php添加xml文档内容的方法
Jan 23 PHP
PHP将session信息存储到数据库的类实例
Mar 04 PHP
php隐藏实际地址的文件下载方法
Apr 18 PHP
学习PHP Cookie处理函数
Aug 09 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
May 27 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
Aug 30 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中模拟POST传递数据的两种方法分享
2011/09/16 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
js静态作用域的功能。
2006/12/25 Javascript
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
Js基础学习资料
2010/11/23 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
2014/02/04 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
JavaScript操作Cookie详解
2015/02/28 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
Vue设置长时间未操作登录自动到期返回登录页
2020/01/22 Javascript
js实现简单放大镜效果
2020/03/07 Javascript
Python程序设计入门(5)类的使用简介
2014/06/16 Python
python中的闭包函数
2018/02/09 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
Django 用户认证组件使用详解
2019/07/23 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
快速一键生成Python爬虫请求头
2021/03/04 Python
写一个方法1000的阶乘
2012/11/21 面试题
优秀毕业生求职信
2014/06/05 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书