/* | |
// 配置格式说明: | |
// name: 转换目标表名 | |
// action: 装换前的操作,truncate 表示先执行truncate 操作,none 表示无任何动作 | |
// desc: 转换规则的描述 | |
// pre_exec: 执行转换前需要执行一次的 sql 语句,格式如 [ "insert into ....", "delete from ...."], | |
// 可以有多条 sql 语句, 这个操作是在原始数据库执行 | |
// post_exec: 转换完成后需要执行一次的 sql 语句, 格式同 pre_exec, 这个操作是在目标数据库执行 | |
// src_sql: 转换原始表查询 sql | |
// dest_column: 转换目标表 column , src_sql 查询出来的字段与 dest_column 的字段 | |
*/ | |
[ | |
{ | |
"name": "T_CARD", | |
"action": "truncate", | |
"desc": "卡信息表", | |
"src_sql": "select c.card_id,(case when a.account_id is null then '3000000001' | |
else '1'||substr(a.account_id,8) end), | |
type_id,phytype,(case when c1.fee_type>0 then c1.fee_type | |
else c1.cut_type end) feetype, | |
c.cosumer_id,c.showid,c.physical_no,c.password, | |
(case when c.end_time ='' then :end_time | |
else c.end_time end) expiredate, | |
substr(c.state_id,1,1) status, | |
(case when substr(c.state_id,2,1)='1' then '1' | |
else '0' end) lossflag, | |
'' lossdate,'' lossefttime, | |
(case when substr(c.state_id,3,1)='1' then '1' | |
else '0' end) frozeflag, | |
'' frozedate,'0' badflag,'' badtype,'' baddate,'0' lockflag, | |
'' lockdate,c.begin_time opendate,'' closedate,'' cardverno,'' lastsaved | |
from YKT_CUR.T_PIF_CARD c left join ykt_cur.t_aif_account a on | |
c.card_id=a.card_id left join ykt_cur.t_cif_customer c1 on | |
c.cosumer_id=c1.cut_id order by c.card_id", | |
"dest_column": "CARDNO, ACCNO, CARDTYPE,CARDPHYTYPE, FEETYPE, CUSTID, SHOWCARDNO, | |
CARDPHYID, CARDPWD,EXPIREDATE, STATUS, LOSSFLAG, LOSSDATE, LOSSEFTTIME, | |
FROZEFLAG, FROZEDATE, BADFLAG, BADTYPE, BADDATE, LOCKFLAG, LOCKDATE, | |
OPENDATE, CLOSEDATE, CARDVERNO, LASTSAVED", | |
"remark": "导入卡表前更新 begin_time 不能为空", | |
"pre_exec" : ["update ykt_cur.t_pif_card set begin_time='20061001' where card_id=43430"], | |
"dst_pre_exec": ["update t_card where cardid=10"], | |
"post_exec": ["update t_card set cardphytype=20"] | |
} | |
] |