数据迁移工具

  • tp5.0手册参看地址 看云 - 数据库迁移工具
  • 此处不在重复文档相关内容,只是参看文档部分学习心得体会
数据填充类 - 用法
  • 前提 - 需要安装 think-migration 扩展包
  • composer require topthink/think-migration
  • 参看tp提供的几个迁移数据填充命令
# 创建一个数据填充类 类名为AdminSeeder 位置在./database/migrations/seed目录下
php think seed:create AdminSeeder
# 运行当前seed目录下的【所有】迁移填充类
php think seed:run 
# 运行seed目录下指定AdminSeeder.php填充类数据文件
php think seed:run -s AdminSeeder
  • 数据库数据填充类文档参看这 - 数据库填充
  • 文档提供类一个Faker库 - 用于方便伪造数据使用
  • 需要先安装faker库 composer require fzaninotto/faker - Faker更多用法参看源码
  • 文档中的一个数据填充示例
$faker->userName,
                'password' => $faker->password(),
                'email' => $faker->unique()->email,
                'nick_name' => $faker->name
            );
        }
        $this->insert('admins',$data);
    }
}
# 每次运行一次 php think seed:run -s AdminSeeder 就会在admins表中填充100条不同相同的数据
迁移数据 - 数据表
  • 参看文档 - 写入迁移
  • 参考一下迁移的几个命令
# 创建一个迁移类 Admins 类
php think migrate:create Admins 
# 迁移后退
php think migrate:rollback
# 运行迁移文件 - 已运行的迁移文件类不会被重复运行
# 第一次运行会生成migrations迁移表记录每次迁移文件运行信息
php think migrate:run 
# 控制台打印 migrations 表已经执行相关迁移的数据信息
php think migrate:status
  • change方法 - 在 php think migrate:run 被执行
# 相关字段、表定义参考tp5.0手册文档示例
# change方法推荐只用于创建表 - 保持单一处理
# change方法里的$This->table()方法的$option参数支持
array(
    'comment' => '表备注',
    'engine' => '引擎', //> 默认 InnoDb 支持 MyIsAm 等
    'collation' => '数据排序规则', //> 默认 'utf8_general_ci' 推荐使用默认值
    'signed' => '主键是否unsigned', //> 推荐不修改此处 测试修改也没用处
    //> 主键默认 id  如果想修改为其他值 修改如下
    'id' => 'user_id',  //> 此时表的主键就是user_id
)
  • up 、down 方法
  • up 、down 放在 change方法【不存在】时被调用
# up 方法在执行 php think migrate:run 命令时被执行
# down 方法在执行 php think migrate:rollback 命令时被执行
# up 方法用来修改表结构等其他
# down 方法用来回滚处理相关表

你可能感兴趣的:(数据迁移工具)