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入门的学习方法
Jan 02 PHP
php cookie的操作实现代码(登录)
Dec 29 PHP
php中使用临时表查询数据的一个例子
Feb 03 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
PHP Hash算法:Times33算法代码实例
May 13 PHP
WordPress中邮件的一些修改和自定义技巧
Dec 15 PHP
php设计模式之委托模式
Feb 13 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 PHP
PHP使用内置函数生成图片的方法详解
May 09 PHP
PHP支付系统设计与典型案例分享
Aug 02 PHP
PHP生成腾讯云COS接口需要的请求签名
May 20 PHP
laravel admin实现分类树/模型树的示例代码
Jun 10 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简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
JavaScript中null与undefined分析
2009/07/25 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
详解WordPress开发中get_current_screen()函数的使用
2016/01/11 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
Tornado服务器中绑定域名、虚拟主机的方法
2014/08/22 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
python flask安装和命令详解
2019/04/02 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
python算法题 链表反转详解
2019/07/02 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
详解CSS3的perspective属性设置3D变换距离的方法
2016/05/23 HTML / CSS
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
移动web模拟客户端实现多方框输入密码效果【附代码】
2016/03/25 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
管理站站长岗位职责
2013/11/27 职场文书
财务管理职业生涯规划范文
2013/12/27 职场文书
《散步》教学反思
2014/03/02 职场文书
考博专家推荐信
2014/05/10 职场文书
爱护花草树木的标语
2014/06/11 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
大学生操行评语大全
2014/12/31 职场文书
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android
Python中request的基本使用解决乱码问题
2022/04/12 Python