关于跨多个服务播种 Rails 应用程序数据库的思考练习。
设置
例如,考虑一个由 4 个服务(rails 应用程序)组成的超级简化示例,它们通过客户端 gem 进行通信,每个服务都公开一个基本 API。
AuthService - (user_id, password)
PropertyService (user_id, property_id, address)
UserService (user_id, user_info)
MortgageService - (property_id, mortgage_id, current_cost_of_mortgage)
基本上,一个用户拥有许多房产,每个房产都有抵押贷款。很简单。
每个服务还有一个客户端,其访问权限受到严格限制,它可以访问哪些字段。因此,它作为一种填充其服务的机制并不是很可行(除非您不同意?)。
问题
当将其作为一个整体播种时,您显然希望您在属性服务中引用的任何用户也存在于身份验证服务中,并且对于其他服务关系也是如此。
用样本数据播种这些服务以使它们都匹配的最佳方法是什么?
考虑的潜在方法
- 为每项服务创建硬固定装置
- 为每个服务创建一个数据库转储并直接导入它
- 使用 Factory Girl 并以某种方式弄清楚如何同步 id
工厂女孩会是最好的,因为它可以让我更改相当容易播种的数据并添加更多/更少的数据而不会出现问题。我就是想不通该怎么做...
任何问题都可以直接提出,真的很想知道是否有人在做这样的事情或已经尝试过,以及他们是如何管理它的!