我希望在heroku上的pgsql数据库中有两个模式(public除外)。在本地我已经完成了将数据导入公共模式并将其重命名为我选择的名称。以类似的方式,我在一个DB下创建了两个模式,并使用
将其连接到rails应用程序search_schema_path: 'schema1, schema2'
现在我想在heroku上做同样的事情并尝试相同的程序。但似乎,rails无法从数据库中找到表。我得到错误关系“delayed_jobs”不存在。请建议我怎么做。
提前感谢您的帮助。
答案 0 :(得分:2)
当您的Rails应用程序部署在Heroku上时,自动生成的database.yml
会覆盖您的应用程序database.yml
,这会删除您的schema_search_path
设置,并将其重置为public
您可以添加一个初始化程序,在加载后重置该值。例如,config/initializers/postgres_schema.rb
:
ActiveRecord::Base.connection.schema_search_path = 'schema1, schema2'
在重新连接或重新设置的任何地方,您都需要小心设置。