SymmetricDS文档翻译--【Chapter3.详细配置(Configuration)[sectionB]】(二)

2015-02-03 10:06:02 · 作者: · 浏览: 23
NAME,SOURCE_TABLE_NAME,CHANNEL_ID, SYNC_ON_UPDATE,SYNC_ON_INSERT,SYNC_ON_DELETE, SYNC_ON_INCOMING_BATCH,NAME_FOR_UPDATE_TRIGGER, NAME_FOR_INSERT_TRIGGER,NAME_FOR_DELETE_TRIGGER, SYNC_ON_UPDATE_CONDITION,SYNC_ON_INSERT_CONDITION, SYNC_ON_DELETE_CONDITION,EXTERNAL_SELECT, TX_ID_EXPRESSION,EXCLUDED_COLUMN_NAMES, CREATE_TIME,LAST_UPDATE_BY,LAST_UPDATE_TIME) values ('SALE_TRANSACTION_DEAD',null,null, 'SALE_TRANSACTION','transaction', 0,0,0,0,null,null,null,null,null,null,null,null,null, current_timestamp,'demo',current_timestamp); insert into sym_router (ROUTER_ID,TARGET_CATALOG_NAME,TARGET_SCHEMA_NAME, TARGET_TABLE_NAME,SOURCE_NODE_GROUP_ID,TARGET_NODE_GROUP_ID,ROUTER_TYPE, ROUTER_EXPRESSION,SYNC_ON_UPDATE,SYNC_ON_INSERT,SYNC_ON_DELETE, CREATE_TIME,LAST_UPDATE_BY,LAST_UPDATE_TIME) values ('CORP_2_STORE',null,null,null, 'corp','store',null,null,1,1,1, current_timestamp,'demo',current_timestamp); insert into sym_trigger_router (TRIGGER_ID,ROUTER_ID,INITIAL_LOAD_ORDER, INITIAL_LOAD_SELECT,CREATE_TIME,LAST_UPDATE_BY,LAST_UPDATE_TIME) values ('SALE_TRANSACTION_DEAD','CORP_2_REGION',100,null, current_timestamp,'demo',current_timestamp);

3.4.5. Changing Triggers

一个Trigger的信息可以使用SQL语句更新来改变同步的表现。SymmetricDS将在每天晚上查找Trigger表的变化,也可以在任何时候运行Sync Trigger Job来进行更新。例如,将表price_changes放到price channel中,可以使用下面的语句完成:

update SYM_TRIGGER
          set channel_id = 'price',
            last_update_by = 'jsmith',
            last_update_time = current_timestamp
          where source_table_name = 'price_changes';

所有改变的配置应该在注册节点集中管理。启动时,改变的配置将被同步到所有的客户端节点。当Trigger的变化到达客户端节点的时候,Sync Trigger Job将会自动运行。

触发器的变化将会在Sync Trigger Job运行后才生效。不想等Sync Trigger Job晚上运行,你也可以通过JMX调用syncTrigger()方法或者简单的重新启动SymmetricDS服务。一个完整的Trigger变化的记录被保存在表TRIGGER_HIST中,这个在Section 4.3.5 “Sync Triggers Job”中讨论。