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