|
|
|配置项目|是否必填|数据类型|说明|
|
|
|
|----|----|----|----|
|
|
|
|[data_type](sync_mysql_new/catalog)|必填|数组||
|
|
|
|[db_connection](sync_mysql_new/catalog)|必填|字典||
|
|
|
|[table_explode](sync_mysql_new/table_explode)|选填|数组||
|
|
|
|[db_start_transaction](sync_mysql_new/catalog)|选填|||
|
|
|
|[add_return_keys](sync_mysql_new/catalog)|选填|||
|
|
|
|[table_match](sync_mysql_new/catalog)|选填|||
|
|
|
|
|
|
|
|
|
### data_type
|
|
|
定义某一种要处理的数据。它与前续处理模块输出的数据类型相对应。
|
|
|
这个数据类型通常是业务层面的一种数据。如,一条被执行人信息。
|
|
|
通常这样一条业务数据以一个确定的JSON格式在数据系统中传递。
|
|
|
但业务层面的一条数据在存储到数据库时,可能对应的是一张表也可能是多张表。
|
|
|
而data_type的定义,就是指明入库模块收到的某一种数据类型所对应的数据库表是哪些。
|
|
|
|
|
|
|配置项目|是否必填|数据类型|说明|
|
|
|
|----|----|----|----|
|
|
|
|name|必填|字符串||
|
|
|
|tables|必填|数组||
|
|
|
|
|
|
|
|
|
### table_explode
|
|
|
<!--FIXME 名字建议改一改。
|
|
|
这个字段改为data_explode更为合理。因为这是对数据的操作,而非对表的操作
|
|
|
解释用途, 提供样例
|
|
|
-->
|
|
|
table_explode中定义了要炸开数据
|
|
|
表table_b的b_list的字段在输入的一条数据上要炸开,table_b产生一变多的效果入库
|
|
|
表table_c的c_list的字段在输入的一条数据上要炸开,table_c产生一变多的效果入库
|
|
|
|
|
|
### table_match
|
|
|
<!--FIXME 是正则表达式吗?-->
|
|
|
<!--FIXME 名字建议改一改。
|
|
|
这个功能是对输入的数据进行过滤。而不是针对表进行匹配。data_match 更为合理
|
|
|
-->
|
|
|
|
|
|
table_match中定义了数据要匹配正则表达式才可以入库:
|
|
|
table_b: "b1=='5' and b2=='5'", table_b要匹配正则才可以入库
|
|
|
table_c: ["c1=='5'", "c3=='4'"], table_c匹配list中任意一个正则就可以入库(正则之间或的关系)
|
|
|
|
|
|
### db_start_transaction:
|
|
|
<!--TODO 解释用途, 提供样例-->
|
|
|
db_start_transaction定义事务的级别信息,isolation_level: "READ COMMITTED"主要解决的INSERT INTO on duplicate key update
|
|
|
会产生死锁的现象
|
|
|
|
|
|
### add_return_keys
|
|
|
<!--TODO 解释用途,提供数据样例-->
|
|
|
add_return_keys定义的返回的结果上需要新加一列,键名为company_name_digest |