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 相关文章推荐
基于mysql的论坛(7)
Oct 09 PHP
PHP 开源框架22个简单简介
Aug 24 PHP
php长字符串定义方法
Jul 12 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
PHP Class&Object -- PHP 自排序二叉树的深入解析
Jun 25 PHP
PHP判断变量是否为0的方法
Feb 08 PHP
PHP学习笔记(一) 简单了解PHP
Aug 04 PHP
php实现比较全的数据库操作类
Jun 18 PHP
php轻松实现文件上传功能
Mar 03 PHP
浅谈PHP中new self()和new static()的区别
Aug 11 PHP
解决laravel中日志权限莫名变成了root的问题
Oct 17 PHP
php实现商城购物车的思路和源码分析
Jul 23 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批量生成随机用户名
2008/07/10 PHP
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
2012/03/07 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
微信小程序云开发之使用云数据库
2019/05/17 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
深入了解JavaScript 的 WebAssembly
2019/06/15 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
python函数装饰器用法实例详解
2015/06/04 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
2019/01/08 Python
Python实现i人事自动打卡的示例代码
2020/01/09 Python
Django 后台带有字典的列表数据与页面js交互实例
2020/04/03 Python
pycharm 激活码及使用方式的详细教程
2020/05/12 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
领导干部廉政承诺书
2014/03/27 职场文书
校企合作协议书
2014/04/16 职场文书
我们的节日中秋节活动总结
2015/03/23 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
五年级数学教学反思
2016/02/16 职场文书
2016年国庆节67周年活动总结
2016/04/01 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL