2

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

我的问题是:

  • 我应该更改新应用程序上表的名称吗?

  • 如果是,那我的模型名称呢?是否可以将模型映射到具有不同名称的表?(就像User带有new_user表格而不是 的模型user)。

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

谢谢!

4

1 回答 1

2

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

即使你能够让你的桌子分开而不发生碰撞,你仍然会遇到schema_migrations桌子的挑战。该表包含 Rails 的所有迁移,并将包含两个应用程序的所有迁移记录的混合。每当您尝试运行rake db:rollback或其他 rake 命令时,这都会使应用程序感到困惑。

schema.rb让您的文件可能在两个应用程序之间不同步也可能存在问题。

我建议您仔细研究您想要共享数据库的原因,看看是否有其他方法可以完成您正在尝试做的事情。例如,您可能会考虑使用Active Resources来安静地连接应用程序。

于 2012-05-01T10:31:06.567 回答