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正则走开
Mar 15 PHP
php中static静态变量的使用方法详解
Jun 04 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
PHP中的reflection反射机制测试例子
Aug 05 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
Aug 16 PHP
php实现通过cookie换肤的方法
Jul 13 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
Aug 16 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
Aug 28 PHP
全新Mac配置PHP开发环境教程
Feb 03 PHP
PHP常见错误提示含义解释(实用!值得收藏)
Apr 25 PHP
PHP的curl函数的用法总结
Feb 14 PHP
php实现统计IP数及在线人数的示例代码
Jul 22 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文件下载类
2006/12/06 PHP
MySql中正则表达式的使用方法描述
2008/07/30 PHP
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
php 文件上传实例代码
2012/04/19 PHP
服务器上配置PHP运行环境教程
2015/02/12 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
javascript  Error 对象 错误处理
2008/05/18 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
Python文件去除注释的方法
2015/05/25 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
Pyqt5实现英文学习词典
2019/06/24 Python
django中forms组件的使用与注意
2019/07/08 Python
基于python框架Scrapy爬取自己的博客内容过程详解
2019/08/05 Python
Python处理session的方法整理
2019/08/29 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
廉洁使者实施方案
2014/03/29 职场文书
党的群众教育实践活动实施方案
2014/06/12 职场文书
护理专业求职信
2014/06/15 职场文书
建筑安全生产责任书
2014/07/22 职场文书
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL