多个Rails应用程序,单个MySQL数据库
我打算为site.com,api.site.com,admin.site.com分别拥有多个Rails应用程序。 所有应用程序都将从一个MySQL数据库访问相同的表。 应用和数据库在同一服务器中运行。
Rails,ActiveRecord或MySQL中是否有任何设置需要关注上述访问场景? 谢谢
运行:Rails 2.3.5,MySQL 5.0,Nginx,Passenger,RubyEE
这种配置往往很难维护。 在每个应用程序中,您都需要保持schema.rb和模型同步,以便使用相同的数据库。 这意味着很多重复。
这可能不是一个好主意。 相反,您可能希望设计应用程序以满足以下方案之一:
- 一个Rails应用程序,它处理site.com,api.site.com和admin.site.com(为什么你需要单独的应用程序?)
- 多个Rails应用程序,但只有一个与db交互。 其他人使用主应用程序API(相当复杂)
- 具有不同目的的不同应用程序(例如,您可能希望将apat.ad.com用于Sinatra + Datamapper)
在大多数情况下,第一种选择可能是最好的选择。
我在这里回答了类似的问题 你可以这样做,有时它是合理的。
- rake db:create – 整理问题
- 无法激活mysql2(〜> 0.3.6),已经在Rails 3.1中激活了mysql2-0.3.2
- Rails – postgres上的gmaps4rails gem
- 如何在没有模型的情况下从Rails应用程序查询MySQL数据库?
- 无法使用mysql db在rails中启动服务器
- 将数据从excelfile写入数据库时编码错误(mysql)
- ActiveRecord :: StatementInvalid:Mysql2 :: Error:无法删除或更新父行–Rails 4.2.6
- Ruby Mysql2通过代理(QuotaGuard)
- MySQL复合索引中的键的高性能排序(WRT Rails多态关联和STI)