在数据库引擎中使用 rails 管理项目中的用户和公司的最佳方法是什么?

What is the best way to manage users and companies on a project with rails in the databases engine?

我想从事企业项目。但我不知道那是最值得推荐的。例如,我的 rails 应用程序最好在创建帐户时 每个企业创建一个数据库 。我这么想是因为如果哪天一个企业的数据库出了问题,不会影响到其他企业。

我想做一个项目,每次公司使用您的自己的数据库注册时。简单来说,我不想交叉数据,因此,如果一个用户有两个公司,例如可以分别处理并存储在不同的数据库中。这种做法我在ERP软件中看到过,购买产品的人可以管理你的不同业务。显然,数据库将具有相同的通用设计,但这就像简单地说创建数据库的两个实例。

谢谢

一种比重复创建数据库强度较低的方法是为公司创建一个 table,为用户创建一个 table,并通过主键 link 他们(在 rails 那将是 id) 所以每个用户 table 都会有一个字段 "company_id" 这映射到用户所在的公司,如果你仍然担心发生什么事数据库;我建议您创建可以从中恢复的数据库备份。

如果您有任何问题,请随时评论此答案,我会为您解答。

尝试在 Rails

中检查 these documents 关于 Active Record Associations

此致, 格兰特

查看名为 "Apartment" 的 gem,它完全符合您的要求:

https://github.com/influitive/apartment