1

我想在 heroku 上的 pgsql 数据库中有两个模式(公共模式除外)。在本地,我已经将数据导入公共模式并将其重命名为我选择的名称。以类似的方式,我在一个 DB 下创建了两个模式,并将其连接到 rails 应用程序使用

search_schema_path: 'schema1, schema2'

现在我想在 heroku 上做同样的事情并尝试了同样的过程。但似乎,rails 无法从数据库中找到表。我得到错误关系“delayed_jobs”不存在。请建议我怎么做。

提前感谢您的帮助。

4

1 回答 1

2

当您的 Rails 应用程序部署在 Heroku 上时,自动生成的应用程序会database.yml覆盖您的应用程序database.yml,这会删除您的schema_search_path设置,将其重置为public.

您可以添加一个初始化程序,在加载后重置该值。例如config/initializers/postgres_schema.rb

ActiveRecord::Base.connection.schema_search_path = 'schema1, schema2'

您需要小心在重新连接或重新设置的任何位置进行设置。

于 2013-12-19T20:57:57.333 回答