【问题标题】:Dedicated database sharing between two apps on HerokuHeroku 上两个应用程序之间的专用数据库共享
【发布时间】:2012-05-10 21:31:42
【问题描述】:

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

我的问题是:

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

  • 如果是,我的模型名称如何?是否可以将模型映射到具有不同名称的表? (例如 User 模型与 new_user 表而不是 user)。

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

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

    您的schema.rb 文件也可能会导致两个应用程序之间不同步。

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

    【讨论】:

    • 嗯,好的,我明白了。但我认为可以为一个数据库创建多个模式,所以最终schema_migrations 会被复制,对吗?
    • 也适用于Active Resources,假设我希望其他应用程序访问与我的旧应用程序相同的数据?但就我而言,我不希望他们共享相同的数据......
    • 您是否希望运行单个数据库服务器,但不介意在该单个服务器中有多个“数据库/模式”?
    猜你喜欢
    • 2011-08-24
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    相关资源
    最近更新 更多