Heroku上两个应用程序之间的专用数据库共享

时间:2012-05-01 10:14:16

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

我在Heroku上有两个应用程序,我希望他们使用相同的专用数据库。问题是这个新的应用程序具有与另一个相同的模型/表格。

我的问题是:

  • 我应该更改新应用中表格的名称吗?

  • 如果是,我的模特名称怎么样?是否可以使用具有不同名称的表映射模型? (例如User模型,new_user表而不是user)。

对于如何做到这一点的任何好建议将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

一般来说,这可能不像看起来那么好。 Rails旨在假设它对数据库有100%的控制权。

即使您能够将表分开并且不会发生冲突,您仍然会遇到schema_migrations表的挑战。该表包含rails的所有迁移,并且包含两个应用程序的所有迁移记录的混合。例如,当您尝试运行rake db:rollback或其他rake命令时,这会使应用程序混淆。

如果您的schema.rb文件可能在两个应用程序之间失去同步,也可能存在问题。

我建议您仔细查看要共享数据库的原因,看看是否有其他方法可以完成您要执行的操作。例如,您可以考虑使用Active Resources来重新连接应用程序。