SymmetricDS仅同步指定列求助:如何同步ITEM_PRECO_VENDA表的CIDADE列
在SymmetricDS中仅同步ITEM_PRECO_VENDA表的CIDADE列的操作方法
要实现仅同步指定列,核心是配置列包含规则,同时必须保留主键列用于目标端定位数据行,具体操作如下:
方法一:直接修改数据库中的触发器配置表
SymmetricDS的同步规则存储在sym_trigger系统表中,执行以下SQL更新配置:
UPDATE sym_trigger SET column_names = 'ID_ITEM, ID_LOJA, CIDADE' WHERE trigger_id = '你的ITEM_PRECO_VENDA触发器ID' AND source_table_name = 'ITEM_PRECO_VENDA';
注意:必须包含
ID_ITEM和ID_LOJA(表的联合主键),否则SymmetricDS无法在目标端匹配到对应的行,同步操作会失败。
方法二:通过配置文件修改触发器规则
如果使用XML或配置文件管理同步规则,找到对应触发器的配置块,指定column-names属性:
<trigger trigger-id="item_preco_venda_trigger" source-table-name="ITEM_PRECO_VENDA" channel-id="自定义通道ID"> <column-names>ID_ITEM, ID_LOJA, CIDADE</column-names> </trigger>
配置完成后,重启SymmetricDS节点使新规则生效。
额外检查
确认同步通道未过滤目标列:查看sym_channel表的exclude_columns字段,确保该字段未包含ID_ITEM、ID_LOJA或CIDADE。
内容的提问来源于stack exchange,提问作者Facundo
相关产品推荐
相关产品推荐

