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 mysql数据库操作类
Jun 04 PHP
PHP 地址栏信息的获取代码
Jan 07 PHP
php xml留言板 xml存储数据的简单例子
Aug 24 PHP
php 数组的一个悲剧?
May 11 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
基于PHP生成静态页的实现方法
May 10 PHP
php递归删除目录下的文件但保留的实例分享
May 10 PHP
PHP远程采集图片详细教程
Jul 01 PHP
Laravel 5.3 学习笔记之 错误&日志
Aug 28 PHP
自制PHP框架之模型与数据库
May 07 PHP
PHP构造二叉树算法示例
Jun 21 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
Oct 16 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
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
php array的学习笔记
2012/05/10 PHP
php常用字符函数实例小结
2016/12/29 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
2020/09/07 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
[01:00:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第三场 1月10日
2021/03/11 DOTA
Python的一些用法分享
2012/10/07 Python
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
python读取和保存图片5种方法对比
2018/09/12 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
环境工程大学生个人的自我评价
2013/10/08 职场文书
狼和鹿教学反思
2014/02/05 职场文书
采购经理岗位职责
2014/02/16 职场文书
2015员工年度考核评语
2015/03/25 职场文书
道歉的话怎么说
2015/05/12 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
导游词之天下银坑景区
2019/11/21 职场文书
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
使用Nginx的访问日志统计PV与UV
2022/05/06 Servers
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers