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 函数语法介绍一
Jun 14 PHP
深入php多态的实现详解
Jun 09 PHP
解析php中获取url与物理路径的总结
Jun 21 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
Nov 26 PHP
php $_SERVER windows系统与linux系统下的区别说明
Feb 14 PHP
PHP实现利用MySQL保存session的方法
Aug 23 PHP
C/S和B/S两种架构区别与优缺点分析
Oct 23 PHP
php计划任务之ignore_user_abort函数实现方法
Jan 08 PHP
你不知道的文件上传漏洞php代码分析
Sep 29 PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 16 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 获取远程文件内容的函数代码
2010/03/24 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
用javascript实现点击链接弹出"图片另存为"而不是直接打开
2007/08/15 Javascript
IE和Firefox下javascript的兼容写法小结
2008/12/10 Javascript
小议javascript 设计模式 推荐
2009/10/28 Javascript
js图片自动切换效果处理代码
2013/05/07 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
全面了解js中的script标签
2016/07/04 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
angular实现表单验证及提交功能
2017/02/01 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
JS实现计算小于非负数n的素数的数量算法示例
2019/02/26 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
python链接Oracle数据库的方法
2015/06/28 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
Python实现拷贝/删除文件夹的方法详解
2018/08/29 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
Python QTimer实现多线程及QSS应用过程解析
2020/07/11 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
荷兰游戏商店:Allyouplay
2019/03/16 全球购物
开办饭店创业计划书
2013/12/28 职场文书
食堂采购员岗位职责
2014/03/17 职场文书
公共场所标语
2014/06/30 职场文书
毕业生见习报告总结
2014/11/08 职场文书
法定授权委托证明书
2015/06/18 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
初二数学教学反思
2016/02/17 职场文书