【问题标题】:Create multiple schema in one DB on heroku postgresql在 heroku postgresql 的一个数据库中创建多个模式
【发布时间】:2013-12-19 11:10:43
【问题描述】:
我想在 heroku 上的 pgsql 数据库中有两个模式(公共模式除外)。在本地,我已经将数据导入公共模式并将其重命名为我选择的名称。以类似的方式,我在一个 DB 下创建了两个模式,并使用
将其连接到 Rails 应用程序
search_schema_path: 'schema1, schema2'
现在我想在 heroku 上做同样的事情并尝试了同样的程序。但似乎,rails 无法从数据库中找到表。我得到错误关系“delayed_jobs”不存在。请建议我怎么做。
提前感谢您的帮助。
【问题讨论】:
标签:
postgresql
heroku
ruby-on-rails-2
heroku-postgres
【解决方案1】:
当您的 Rails 应用程序部署在 Heroku 上时,自动生成的 database.yml 会覆盖您的应用程序 database.yml,这将删除您的 schema_search_path 设置,将其重置为 public。
您可以添加一个初始化程序,在加载后重置该值。例如config/initializers/postgres_schema.rb:
ActiveRecord::Base.connection.schema_search_path = 'schema1, schema2'
在重新连接或重新设置的任何地方都需要小心设置。