Thinkphp6 数据迁移工具踩坑记
2020-03-16 本文已影响0人
挤时间学习的阿龙
查看安装列表是否有migrate,如果没有就安装数据迁移工具
php think list
安装数据迁移工具
重点:如果你从6.0.0RC3 或者其他版本升级上来可能会遇到后面执行migrate:run 报错,建议重新安装最新的tp6.0.2
这样的报错信息
[RuntimeException]
Adapter "" has not been registered
composer require topthink/think-migration
创建数据迁移工具
php think migrate:create manager
datebase目录下生成这样的文件
image.png
<?php
use think\migration\Migrator;
use think\migration\db\Column;
class Manager extends Migrator
{
public function change()
{
// create the table
$table = $this->table('manager',array('engine'=>'MyISAM'));
$table->addColumn('username', 'string',array('limit' => 15,'default'=>'','comment'=>'用户名,登陆使用'))
->addColumn('password', 'string',array('limit' => 100,'default'=>password_hash('123456',PASSWORD_DEFAULT),'comment'=>'用户密码'))
->addIndex(array('username'), array('unique' => true))
->create();
}
}
执行数据填充
image.pngphp think migrate:run
数据库会生成2个表
image.png
插入数据
(1)创建插入数据
php think seed:create SeederManager
提示如下
生成以下文件
image.png
(2)执行数据插入
image.pngphp think migrate:run
数据插入成功
image.png
总结:如果弄错了要重新操作,记得把datebase里的文件删除掉,数据库表删除干净,数据迁移工具有回滚操作,可以查下手册