在阅读了SymmetricDS用户指南之后,我不确定SymmetricDS是否支持冲突解决方案,这不是基于PK,而是基于我自己的自定义列上的专用。
鉴于以下情况:
products。现在,表模式看起来如下(简化):
id (pk) | name (char) | reference (char)我想知道的是,是否可以将列reference定义为解决冲突的标识符并插入/更新操作,而不是pk列id?
示例:
Node0
id (pk) | name (char) | reference (char)
1 Foo IN001
2 FooBaz IN003
----
Node1
id (pk) | name (char) | reference (char)
1 Bar EX001
2 Foo IN001在Node1中对第2行的更改将触发节点1中第1行的更新,同时在Node 0/1中创建新记录将在各自的节点中触发插入,但考虑到PK可能已经被采用。
此外,我希望通过列reference的值来筛选要被同步的表行。这意味着只有的行应该由reference startwith('IN') == True同步。
谢谢!
发布于 2015-05-14 19:01:30
查看触发器表中的列“SYNC_KEY_NAMES”。
指定以逗号分隔的列列表,这些列应用作同步操作的键。默认情况下,如果未指定,则将使用表的主键。
如果将值“name”插入到该列中,SDS将将其作为PK处理。
将id作为PK创建一个障碍。如果该列自动递增,则可以尝试将其排除在触发器表列“exclude _ column _NAMES”中。既然这是PK,我不知道SDS会不会忽略它。
如果这样做不起作用,您必须编写一个自定义负载过滤器来在insert上增加id字段。
https://stackoverflow.com/questions/30219330
复制相似问题