首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SymmetricDS pk替代方案

SymmetricDS pk替代方案
EN

Stack Overflow用户
提问于 2015-05-13 15:31:10
回答 1查看 952关注 0票数 1

在阅读了SymmetricDS用户指南之后,我不确定SymmetricDS是否支持冲突解决方案,这不是基于PK,而是基于我自己的自定义列上的专用

鉴于以下情况:

  • 2个具有双向更新的节点
  • 每个节点都有一个必须同步的表products

现在,表模式看起来如下(简化):

代码语言:javascript
复制
id (pk) |  name (char)  | reference (char)

我想知道的是,是否可以将列reference定义为解决冲突的标识符并插入/更新操作,而不是pk列id

示例:

代码语言:javascript
复制
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同步。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-05-14 19:01:30

查看触发器表中的列“SYNC_KEY_NAMES”。

指定以逗号分隔的列列表,这些列应用作同步操作的键。默认情况下,如果未指定,则将使用表的主键。

如果将值“name”插入到该列中,SDS将将其作为PK处理。

将id作为PK创建一个障碍。如果该列自动递增,则可以尝试将其排除在触发器表列“exclude _ column _NAMES”中。既然这是PK,我不知道SDS会不会忽略它。

如果这样做不起作用,您必须编写一个自定义负载过滤器来在insert上增加id字段。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30219330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档