数据迁移 php,thinkphp5中migrate数据库迁移工具详解
tp5相对与tp3.2有很大的不同
其中一项功能是帮助开发者在PHP代码中实施数据库创建、修改以及回滚等功能。
第一步安装migrate插件,在命令行界面中前往当前项目目录并执行composer require topthink/think-migration
通过使用php think命令可以查看migrate是否成功下载

通过migrate工具,为应用创建文件名(驼峰式命名法),并在数据库中生成该迁移文件
建议在项目中添加失败提示时没有明确的方法可用通常是通过调用composer命令获取当前应用环境中的tp版本信息,并建议将Composer.json文件中与迁移相关的字段设置为version 1.x or version 1.0以解决当前问题
重新composer update即可

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

非常的方便
相关推荐:
