我在Heroku上有两个应用程序,我希望他们使用相同的专用数据库。问题是这个新的应用程序具有与另一个相同的模型/表格。
我的问题是:
我应该更改新应用中表格的名称吗?
如果是,我的模特名称怎么样?是否可以使用具有不同名称的表映射模型? (例如User
模型,new_user
表而不是user
)。
对于如何做到这一点的任何好建议将不胜感激。
谢谢!
答案 0 :(得分:2)
一般来说,这可能不像看起来那么好。 Rails旨在假设它对数据库有100%的控制权。
即使您能够将表分开并且不会发生冲突,您仍然会遇到schema_migrations
表的挑战。该表包含rails的所有迁移,并且包含两个应用程序的所有迁移记录的混合。例如,当您尝试运行rake db:rollback
或其他rake命令时,这会使应用程序混淆。
如果您的schema.rb
文件可能在两个应用程序之间失去同步,也可能存在问题。
我建议您仔细查看要共享数据库的原因,看看是否有其他方法可以完成您要执行的操作。例如,您可以考虑使用Active Resources来重新连接应用程序。