Advertisement

数据迁移 php,thinkphp5中migrate数据库迁移工具详解

阅读量:

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

其中一项功能是帮助开发者在PHP代码中实施数据库创建、修改以及回滚等功能。

第一步安装migrate插件,在命令行界面中前往当前项目目录并执行composer require topthink/think-migration

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

fed84f47a21b98f7d7a1da1b86fe003c.png

通过migrate工具,为应用创建文件名(驼峰式命名法),并在数据库中生成该迁移文件

建议在项目中添加失败提示时没有明确的方法可用通常是通过调用composer命令获取当前应用环境中的tp版本信息,并建议将Composer.json文件中与迁移相关的字段设置为version 1.x or version 1.0以解决当前问题

重新composer update即可

d803f466903e771e75287b14c9b54cdf.png

在application 下的 database.php 里配置好数据库

以下是其中一份migrate文件的内容(创建完后有一个默认方法change(),删除它)

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命令可执行以下操作:可回滚上一次运行的迁移文件(配置为-选项0参数时将整个迁移过程回滚)

通过migrate:status可以查看当前migrate执行的情况

执行run方法后,user表建立成功

f9403195954102b9f0453fb0cbaefd96.png

非常的方便

相关推荐:

全部评论 (0)

还没有任何评论哟~