代码之家  ›  专栏  ›  技术社区  ›  Randy Minder

使用LastModifiedTime将行同步到数据仓库

  •  0
  • Randy Minder  · 技术社区  · 6 年前

    我的任务是将一些SF表中的行拉到数据仓库中。我看到大多数(可能所有)表都有一个LastModifiedTime列。所以我的方法就是这样。当我将行从SF拉入DW时,我将存储拉入行的最新修改时间,然后从该时间点开始下一次拉入迭代。

    但是,有人告诉我,SF实现了一个延迟,因此可能不是所有具有相同LastModifiedTime的行都同时写入SF数据库。

    例如,假设总共有10行最后一次修改是在2018年8月15日17:00:00,等待写入数据库。由于这种内置的“延迟”,SF可能会在保存操作期间写入其中的7行,然后在几秒钟或几分钟后的下一次保存操作期间写入其余的3行。

    所以,这个LastModifiedTime实际上不是行命中数据库的时间。这是将行“缓存”到数据库的时间,它将在上次修改的时间后几秒或几分钟被物理地添加到数据库中。

    有人能证实吗。如果是这样的话,SF数据库中是否有一个列可以安全地用于我所描述的同步操作?

    1 回复  |  直到 6 年前
        1
  •  -1
  •   Philippe    6 年前

    如果通过标准Salesforce UI更新LastModifiedTime,则会同步更新。如果它们是由触发器、工作流规则或流程生成器更新的(工作流和流程生成器编译为触发器,btw),则更新是异步的。