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 相关文章推荐
JAVA/JSP学习系列之二
Oct 09 PHP
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
sphinx增量索引的一个问题
Jun 14 PHP
PHP高自定义性安全验证码代码
Nov 27 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
页面利用渐进式JPEG来提升用户体验度
Dec 01 PHP
PHP中生成UUID自定义函数分享
Jun 10 PHP
laravel中命名路由的使用方法
Feb 24 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
Mar 14 PHP
PHP实现json_decode不转义中文的方法
May 20 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 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中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
vue脚手架中配置Sass的方法
2018/01/04 Javascript
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
Vue实例的对象参数options的几个常用选项详解
2019/11/08 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
Python向日志输出中添加上下文信息
2017/05/24 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
2018/01/23 Python
python语言中with as的用法使用详解
2018/02/23 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
Django 路由控制的实现
2019/07/17 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
python如何爬取网页中的文字
2020/07/28 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
银行办公室岗位职责
2014/03/10 职场文书
生日主持词
2014/03/20 职场文书
技术岗位竞聘演讲稿
2014/05/16 职场文书
学校班子个人对照检查材料思想汇报
2014/09/27 职场文书
给老婆的保证书
2015/01/16 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
golang slice元素去重操作
2021/04/30 Golang