soong/console

为Soong框架提供基本的Symfony Console集成

dev-development / 1.0.x-dev 2022-10-16 14:30 UTC

This package is auto-updated.

Last update: 2024-09-09 20:34:52 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Soong\Console为Soong框架提供基本的Symfony Console集成。

安装

通过Composer

$ composer require soong/console

使用方法

bin/soong脚本用于运行控制台命令。提供了三个命令:

migrate

migrate命令接收在config目录中定义的迁移任务名称,并执行迁移过程(从配置的源中提取数据并将其加载到配置的目标中)。

$ bin/soong migrate arraytosql
Executing arraytosql

rollback

rollback命令接收在config目录中定义的迁移任务名称,并回滚迁移过程(删除由migrate命令加载到目标中的任何数据)。

$ bin/soong rollback arraytosql
Executing arraytosql

status

status命令显示任何指定的迁移任务的状态(或在没有提供任务名称时显示所有配置的迁移任务)。

$ bin/soong status arraytosql
+------------+-------+-----------+-------------+
| Task       | Total | Processed | Unprocessed |
+------------+-------+-----------+-------------+
| arraytosql | 4     | 0         | 4           |
+------------+-------+-----------+-------------+

演示

为演示Soong ETL设置

  1. 为测试创建一个空数据库。
  2. data/extractsource.sql导入数据库(表将由第一个演示填充)。
  3. data/beer.sql导入数据库(表将由第二个演示填充)。
  4. 编辑config/目录中的每个文件 - 如有指示,用测试数据库的凭据替换示例凭据。

演示1

  1. 执行bin/soong migrate arraytosql
  2. 查看extractsource表以查看填充的数据,并注意ID已经按顺序分配。
  3. 查看map_arraytosql表以查看源到目标键的映射。
  4. 执行bin/soong migrate sqltocsv
  5. 观察终端输出的CSV数据,并注意已应用配置的转换。
  6. 执行bin/soong rollback arraytosql
  7. 观察extractsourcemap_arraytosql表现在是空的。

演示2

  1. 执行bin/soong migrate beertopics
  2. 观察beer_terms表从CSV数据中填充 - 特别是查看'红艾尔'引用其'艾尔'父类的操作如何被转换为数据库中'艾尔'行分配的数字ID。
  3. 执行bin/soong migrate beeraccounts
  4. 观察beer_users表 - 特别是查看ValueLookup转换器如何将pro列中的布尔值转换为taster列中的字符串。
  5. 执行bin/soong migrate beercontent
  6. 观察beer表 - 特别是查看即使在用户ID更改的情况下,用户/账户的关系也得到了保持(也请参阅map_beeraccounts表)。
  7. 执行bin/soong rollback beercontent
  8. 观察beermap_beercontent表现在是空的。

变更日志

请参阅CHANGELOG获取有关最近更改的更多信息。

测试

$ composer test

贡献

请参阅CONTRIBUTINGCODE_OF_CONDUCT获取详细信息。

待办事项

修复composer.json/autoloading!我们不应需要在这里要求所有其他库...

安全

如果您发现任何安全相关的问题,请通过电子邮件soong@virtuoso-performance.com而不是使用问题跟踪器。

鸣谢

许可证

MIT许可(MIT)。更多信息请参阅许可文件