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 执行系统命令的方法
Jul 07 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
Jun 23 PHP
php转换颜色为其反色的方法
Apr 27 PHP
php生成固定长度纯数字编码的方法
Jul 09 PHP
如何使用PHP对网站验证码进行破解
Sep 17 PHP
十个PHP高级应用技巧果断收藏
Sep 25 PHP
谈谈 PHP7新增功能
Dec 16 PHP
PHP Cookie学习笔记
Aug 23 PHP
实现PHP搜索加分页
Oct 12 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
thinkphp诸多限制条件下如何getshell详解
Dec 09 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 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
PHP准确取得服务器IP地址的方法
2015/06/02 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
2019/05/13 PHP
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
JS中如何设置readOnly的值
2013/12/25 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
使用python socket分发大文件的实现方法
2019/07/08 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
酒店led欢迎词
2014/01/09 职场文书
机关单位动员会主持词
2014/03/20 职场文书
外国人聘用意向书
2014/04/01 职场文书
2015年见习期工作总结
2014/12/12 职场文书
男方婚礼答谢词
2015/01/20 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
运动会广播稿20字
2015/08/19 职场文书
2019年销售人员的职业生涯规划书
2019/03/25 职场文书
Python jiaba库的使用详解
2021/11/23 Python
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server