【问题标题】:Best way to share ActiveRecord models and data between different Rails Apps?在不同的 Rails 应用程序之间共享 ActiveRecord 模型和数据的最佳方式?
【发布时间】:2011-05-17 13:21:07
【问题描述】:

我有几个 Rails 应用程序将使用相同的核心模型和数据集,例如:

  • 应用程序
  • 开发人员
  • 类别

每个应用都建立在这些核心数据之上,并以不同的方式使用它。例如,我可能在另一个应用程序中有这样的东西:

  • 活动
  • 用户
  • 应用(共享)
  • 开发者(共享)
  • 类别(共享)

在模型之间共享模型数据的最佳方式是什么?应用程序、开发人员和类别数据对于每个应用程序都是相同的,因此我宁愿不必在每个应用程序的数据库中复制数据。

编辑:我正在考虑几种可能的解决方案:

  • Rails 引擎(将解决不同应用程序中的重复模型问题,但不能解决共享数据问题)
  • 使用 ActiveResource 访问核心数据(解决了共享数据,但不解决共享模型问题)

【问题讨论】:

  • 在您的第一个可能的解决方案中,由于每个应用程序都部署到不同的服务器,共享数据是否存在问题?
  • 我问这个问题已经有一段时间了,但据我所知,是的,这就是问题所在。每个 Rails 应用程序都在不同的服务器上。

标签: ruby-on-rails activerecord ruby-on-rails-3 heroku activeresource


【解决方案1】:

我正在使用共享数据库来解决 heroku 和 EC2 上的服务器之间的共享数据问题,该服务器执行一些我在 heroku 上无法执行的后台处理。就我而言,我使用的是同一个应用程序,但实际上我所做的只是在 EC2 上使用延迟作业,所以我只使用那里应用程序中的模型。如果我要在另一个应用程序中使用它们,我可能会费力地创建一个 gem 以在它们之间使用。

【讨论】:

  • 有趣...我实际上需要做一些非常相似的事情。 (我也在使用 Heroku。)共享数据库是指一个 other 而不是 Heroku 的?就我而言,我需要立即突破核心内容,但我没有想过使用 gem 来做到这一点。
  • 是的,我使用 Amazon RDS 托管数据库,我在 heroku 上的应用程序与此有关。大约两周后,heroku 推出了他们的 postgresql 插件 (blog.heroku.com/archives/2010/11/10/heroku_postgresql),它也适用于我。实际上可能会更喜欢它,但c'est la vie。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-23
  • 1970-01-01
  • 1970-01-01
  • 2016-11-15
  • 1970-01-01
  • 2011-08-24
  • 2011-11-06
相关资源
最近更新 更多