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版自动生成文章摘要
Jul 23 PHP
php array_intersect比array_diff快(附详细的使用说明)
Jul 03 PHP
PHP 文件系统详解
Sep 13 PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
写一段简单的PHP建立文件夹代码
Jan 06 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
PHP对象克隆clone用法示例
Sep 28 PHP
Yii 2.0自带的验证码使用经验分享
Jun 19 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
PHP7基于curl实现的上传图片功能
May 11 PHP
PHP code 验证码生成类定义和简单使用示例
May 27 PHP
浅谈PHP中的那些魔术常量
Dec 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
一个简洁的多级别论坛
2006/10/09 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
php检查页面是否被百度收录
2015/10/28 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
JS与框架页的操作代码
2010/01/17 Javascript
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
aspx中利用js实现确认删除代码
2010/07/22 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
浅谈jquery.fn.extend与jquery.extend区别
2015/07/13 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
webpack4.x打包过程详解
2018/07/18 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
Python数据库的连接实现方法与注意事项
2016/02/27 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
tensorflow求导和梯度计算实例
2020/01/23 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
外贸业务员求职自荐信分享
2013/09/21 职场文书
标准导师推荐信(医学类)
2013/10/28 职场文书
物业管理工作方案
2014/05/10 职场文书
消防工作实施方案
2014/06/09 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
庆七一晚会主持词
2015/06/30 职场文书
golang 如何用反射reflect操作结构体
2021/04/28 Golang