课程章节介绍
今天我们来聊聊如何在Salesforce中插入记录,以及Heroku Connect如何处理这些操作。
首先,当你想在Salesforce中插入一个新记录时,其实就是在数据库的表中添加一行数据。一旦插入操作完成,Salesforce会自动生成一个18个字符的唯一ID,这个ID会更新到新插入的行中。这里有个小提示:Heroku Connect不支持Salesforce的upsert操作。upsert操作是指如果记录存在就更新,不存在就插入。
如果你在Postgres中插入一个记录,比如一个联系人,然后在发送到Salesforce之前更新了这个记录,Heroku Connect会聪明地将这些更新合并到一个插入操作中。这意味着,无论你更新了多少次,最终只有最新的字段值会被发送到Salesforce。同样的逻辑也适用于删除操作。如果你插入了一条记录然后立即删除它,这条记录根本不会被发送到Salesforce。
接下来,我们来看看对象之间的关系。Heroku Connect支持使用Salesforce ID或外部ID来建立对象之间的主-详细关系和查找关系。如果你想使用Salesforce ID,只需将相关的外键字段添加到你的映射中,并在创建或更新记录时写入Salesforce ID。Heroku Connect会自动为这些字段在数据库中创建索引。
如果你没有Salesforce ID来建立关系,外部ID就派上用场了。外部ID可以是任何字符串或整数,比如你可以使用Postgres的序列号。Heroku Connect在将外键字段添加到映射时,也会为这些字段添加索引。
为了支持使用外部ID的主-详细关系,你需要在Salesforce的主对象中添加一个自定义的文本或数字字段,并确保选择了外部ID选项。然后,在Heroku Connect中配置映射时,包括这个字段。例如,你可以将外部ID字段(如ExternalId_c)添加到主对象映射,并将相关的外部ID字段添加到详细信息对象映射。这个字段会显示在字段列表的底部,格式为____c,比如Account__ExternalId__c。
如果你在Salesforce中添加外部ID字段时选择了唯一选项,那么在将数据库中的字段添加到映射时,Heroku Connect会在该字段上创建一个唯一索引。不过,Heroku Connect不支持区分大小写的唯一索引。
好了,这就是今天的内容。希望这些信息能帮助你更好地理解如何在Salesforce中插入记录,以及Heroku Connect如何处理这些操作。如果你有任何问题,随时问我!