多个Rails应用程序,单个MySQL数据库

时间:2010-04-22 12:02:36

标签: mysql ruby-on-rails

我打算为site.com,api.site.com,admin.site.com分别拥有多个Rails应用程序。所有应用程序都将从一个MySQL数据库访问相同的表。应用和数据库在同一服务器中运行。

Rails,ActiveRecord或MySQL中是否有任何我需要关注以上访问场景的设置?感谢

运行:Rails 2.3.5,MySQL 5.0,Nginx,Passenger,RubyEE

2 个答案:

答案 0 :(得分:12)

这种配置往往很难维护。 在每个应用程序中,您需要保持schema.rb和模型同步,以便使用相同的数据库。这意味着很多重复。

这可能不是一个好主意。相反,您可能希望设计应用程序以满足以下方案之一:

  • 一个处理site.com,api.site.com和admin.site.com的Rails应用程序(为什么需要单独的应用程序?)
  • 多个Rails应用程序,但只有一个与db交互。其他人使用主应用程序API(非常复杂)
  • 具有不同目的的不同应用程序(例如,您可能希望将apat.ad.com用于Sinatra + Datamapper)

在大多数情况下,第一个选项可能是最好的选择。

答案 1 :(得分:4)

我回答了类似问题here。你可以这样做,有时它是合理的。