Rails:多个数据库,相同的模式

时间:2013-04-04 20:44:41

标签: ruby-on-rails database database-connection

我正处于一个虚构的场景项目中,我允许多个用户登录,创建记录等等,这些用户都连接到一个数据库。他们都可以记录缺勤记录,出勤记录等。

但我想要做的是使用相同的架构,但扩展它以允许多个公司使用相同的架构拥有自己的数据库。因此每家公司都有自己的数据,但所有公司都使用相同的数据模型。换句话说,所有公司都可以创建缺席记录,但他们每个人只能访问他们自己创建的缺席记录。

我怎样才能做到这一点?

我需要的只是两三个文件,如果你们认为我正在为别人付出代价而偷工减料,我就不会商业化了!

像if-else这样简单的决定使用哪个文件对我来说非常有用,所以如果存在这样的代码行,请告诉我。

1 个答案:

答案 0 :(得分:0)

我认为你做错了(除非你有充分的理由为每家公司建立一个数据库),因为你似乎反复重复数据模型,同时为你的代码带来不必要的复杂性。

尝试将所有公司放在一个数据库/表中,并用company_id分隔。

Ex:数据结构如下

companies table
id
name


users table
id
user_name
company_id

但是,如果您确实要连接到多个数据库,请查看此SO question