Thinkphp6 数据迁移工具踩坑记

查看安装列表是否有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里的文件删除掉,数据库表删除干净,数据迁移工具有回滚操作,可以查下手册

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容