请提供单表到多表转换的示例配置
实际场景:我有一个 corp 节点和一个 store 节点。我在 corp 节点中有两张表 customers 和 imp_customers,我在 store 节点中有一张表 customers。
我必须从商店中的客户节点到云节点中的客户和 imp_customers 进行转换。请在 SymmetricDS 3.5 中使用 sym_transfrom_table 和 sym_transform_column 给出上述转换的示例配置。
请提供单表到多表转换的示例配置
实际场景:我有一个 corp 节点和一个 store 节点。我在 corp 节点中有两张表 customers 和 imp_customers,我在 store 节点中有一张表 customers。
我必须从商店中的客户节点到云节点中的客户和 imp_customers 进行转换。请在 SymmetricDS 3.5 中使用 sym_transfrom_table 和 sym_transform_column 给出上述转换的示例配置。
要进行从单个表到多个表的转换,
步骤 1:- 首先为表设置触发器并将其链接到路由器(如果已经有触发器,请忽略)
步骤 2:- 在 SYM_TRANSFORM_TABLE 中创建一行,我们在其中指定数据的方向、何时执行转换以及涉及的表。
insert into SYM_TRANSFORM_TABLE(transform_id, source_node_group_id,
target_node_group_id, transform_point, source_table_name, target_table_name,
delete_action, column_policy) values
('customers_to_imp_customers', 'store', 'corp',
'EXTRACT','customers', 'imp_customers', 'NONE', 'SPECIFIED'),
('customers_to_customers', 'store', 'corp',
'EXTRACT','customers', 'customers', 'NONE', 'IMPLIED');
第 3 步:- 在 SYM_TRAMSFORM_COLUMN 中创建行,我们在其中指定要转换的列和转换的类型
insert into SYM_TRANSFORM_COLUMN
(transform_id, include_on, source_column_name, target_column_name, pk, transform_type)
values
('customers_to_imp_customers', '*', 'id', 'id', 1, 'copy'),
('customers_to_imp_customers', '*', 'name', 'customer_name', 1, 'copy'),
('customers_to_customers', '*', 'id', 'id', 0, 'copy');
我按照上面的说明进行操作,并且仅当两列具有相同名称时才有效。我留下我的设置,我希望有任何建议。问候。
insert into sym_trigger
(trigger_id,source_schema_name,source_table_name,channel_id,
last_update_time,create_time)
values('tg_contacts_tbl_bksms','dbo','Contacts','ch_contacts_tblbksms',
current_timestamp,current_timestamp);
insert into sym_router
(router_id,target_schema_name,target_table_name,source_node_group_id,
target_node_group_id,router_type,create_time,last_update_time)
values('rt_contacts_tbl_bksms','SIREN','TBL_BKSMS','SQLServer',
'Oracle','default',current_timestamp,current_timestamp);
insert into sym_trigger_router
(trigger_id,router_id,initial_load_order,initial_load_batch_count,
last_update_time,create_time)
values('tg_contacts_tbl_bksms','rt_contacts_tbl_bksms',1,0,
current_timestamp,current_timestamp);
insert into sym_transform_table
(transform_id,source_node_group_id,target_node_group_id,transform_point,
source_schema_name,source_table_name,target_schema_name,target_table_name,
delete_action,column_policy)
values('transf_contacts_tbl_bksms','SQLServer','Oracle','EXTRACT',
'dbo','Contacts','SIREN','TBL_BKSMS',
'NONE','SPECIFIED');
insert into sym_transform_column
(transform_id,include_on,source_column_name,target_column_name,pk,transform_type)
values('transf_contacts_tbl_bksms','*','ContactID','BKSM_ID',1,'copy');