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();
    }
}

执行数据填充

php think migrate:run

image.png

数据库会生成2个表


image.png

插入数据
(1)创建插入数据

php think seed:create SeederManager
提示如下
生成以下文件


image.png

(2)执行数据插入

php think migrate:run

image.png

数据插入成功


image.png

总结:如果弄错了要重新操作,记得把datebase里的文件删除掉,数据库表删除干净,数据迁移工具有回滚操作,可以查下手册

上一篇下一篇

猜你喜欢

热点阅读