thinkphp5 migrate数据库迁移工具

2018-09-07 13:27

阅读:286

  tp5相对与tp3.2有很大的不同

  migrate是其中一点,通过migrate程序员可以在php代码中创建数据库修改回滚等操作

  首先下载migrate扩展,命令行到当前项目目录下执行

   composer require topthink/think-migration

  通过使用php think命令可以查看migrate是否成功下载

  使用migrate:create migrate文件名(首字母大写的驼峰法),在database下生成migrate文件

  有可能建立失败提示没有什么方法一般是composer获取的tp版本过低,考虑修改composer.json文件里的migrate的版本为1.*或^1.0

  重新composer update即可

  在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表建立成功

  非常的方便


评论


亲,登录后才可以留言!