数据迁移

3.2 版本提供更加完善的数据迁移功能,实现自: fastd/migration 组件

基础使用

migration 组件提供易用的命令行工具,通过终端窗口可以快速使用。

info 命令

该命令会列出所有存在数据库当中的表,通过终端进行显示

  1. $ php bin/console migrate info

通过添加表名,查看详细的数据表结构。

  1. $ php bin/console migrate info table
dump 命令

dump 命令用于将数据表结构导出,转换成 seed 表结构,可以用于导出本地数据库结构,然后提交代码,用于其他人在代码合并和更新的时候使用。

  1. $ php bin/console migrate dump

导出指定表结构

  1. $ php bin/console migrate dump table
seed

创建 seed 种子文件。

  1. $ php bin/console migrate seed table

创建的结构如下:

  1. <?php
  2. use \FastD\Migration\MigrationAbstract;
  3. use \FastD\Migration\Table;
  4. class {Table} extends MigrationAbstract
  5. {
  6. /**
  7. * {@inheritdoc}
  8. */
  9. public function setUp()
  10. {
  11. $table = new Table('hello');
  12. $table
  13. // some code
  14. ;
  15. return $table;
  16. }
  17. }
run

执行 seed 文件并自动填充数据,数据方面可以用于预定义测试数据,这样有利于加速应用测试。

  1. $ php bin/console migrate run

运行指定表。

  1. $ php bin/console migrate run table

自定义数据集默认存放在 dataset 目录,可以通过 -d 参数进行调整选择。

程序会自动读取相关表名的yml文件进行读取,然后进行插入操作。

每次运行程序指挥执行一次数据填充,如果想要重新插入,请执行 cache —clear 命令进行清除缓存。

  1. $ php bin/console migrate run table -d /tmp
cache

缓存处理操作,用于查看和清理缓存数据,不影响业务处理。

  1. $ php bin/console migrate cache

清除缓存

  1. $ php bin/console migrate cache --clear