将映射表处理到外部API

时间:2017-05-16 18:31:57

标签: sql database mapping api-design

我们的数据模型有用户。我们使用外部API(我称之为Z)来处理付款。我们在Z中创建用户,并有一个映射表,将我们的内部ID链接到Z ID。当"环境之间存在一对一的关联时,这种方法很有效。"

问题是Z为我们提供了一个名为" staging的测试环境。"但我们有多种环境,#sand;",#34; staging",每个开发者都是本地的等等。理想情况下,我们可以将各种环境指向Z的舞台,但是那么映射表在每个环境中都是错误的。每个环境都有不同的用户群,电子邮件可能会发生冲突并指向错误的Z ID。 Z也不提供删除(或存档)功能。

在这种情况下我们如何管理这些映射表?

1 个答案:

答案 0 :(得分:1)

这是一个常见问题。它不仅发生在处理外部系统时,而且通常也发生在内部系统中。

你真的只有两个选择。除了暂存环境外,不允许与外部系统联系,或允许从多个环境与外部系统联系。

由于您要执行后者,因此您必须接受每个环境中的映射表与ID与外部Staging环境的ID不匹配。这应该不是问题,除非您要求映射表中的ID与外部环境中的ID完全相同。如果是这种情况,那么你就会遇到选项1。

更有可能的是,外部环境中的每个ID都不需要在同一个映射表中具有相应的条目。在这种情况下,您实际上只关心映射表中的每个ID在外部Staging环境中都有相应的ID。

在映射表中创建ID之前,可以通过在外部系统中创建ID来防止冲突。如果已经使用了ID,则要求用户选择不同的ID。