soong / console
为Soong框架提供基本的Symfony Console集成
dev-development / 1.0.x-dev
2022-10-16 14:30 UTC
Requires
- php: >=8.1
- desarrolla2/cache: ^3.0
- hassankhan/config: ^3
- soong/csv: dev-development
- soong/dbal: dev-development
- soong/soong: dev-development
- symfony/console: ^6
- symfony/yaml: ^6
Requires (Dev)
- phpunit/phpunit: ^9.5
- rector/rector: ^0.14.5
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-09-09 20:34:52 UTC
README
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设置
- 为测试创建一个空数据库。
- 将
data/extractsource.sql导入数据库(表将由第一个演示填充)。 - 将
data/beer.sql导入数据库(表将由第二个演示填充)。 - 编辑
config/目录中的每个文件 - 如有指示,用测试数据库的凭据替换示例凭据。
演示1
- 执行
bin/soong migrate arraytosql - 查看
extractsource表以查看填充的数据,并注意ID已经按顺序分配。 - 查看
map_arraytosql表以查看源到目标键的映射。 - 执行
bin/soong migrate sqltocsv - 观察终端输出的CSV数据,并注意已应用配置的转换。
- 执行
bin/soong rollback arraytosql - 观察
extractsource和map_arraytosql表现在是空的。
演示2
- 执行
bin/soong migrate beertopics - 观察
beer_terms表从CSV数据中填充 - 特别是查看'红艾尔'引用其'艾尔'父类的操作如何被转换为数据库中'艾尔'行分配的数字ID。 - 执行
bin/soong migrate beeraccounts - 观察
beer_users表 - 特别是查看ValueLookup转换器如何将pro列中的布尔值转换为taster列中的字符串。 - 执行
bin/soong migrate beercontent - 观察
beer表 - 特别是查看即使在用户ID更改的情况下,用户/账户的关系也得到了保持(也请参阅map_beeraccounts表)。 - 执行
bin/soong rollback beercontent - 观察
beer和map_beercontent表现在是空的。
变更日志
请参阅CHANGELOG获取有关最近更改的更多信息。
测试
$ composer test
贡献
请参阅CONTRIBUTING和CODE_OF_CONDUCT获取详细信息。
待办事项
修复composer.json/autoloading!我们不应需要在这里要求所有其他库...
安全
如果您发现任何安全相关的问题,请通过电子邮件soong@virtuoso-performance.com而不是使用问题跟踪器。
鸣谢
许可证
MIT许可(MIT)。更多信息请参阅许可文件。