[英]ActiveRecord::StatementInvalid: PG::UndefinedColumn in Rails
[英]Rails ActiveRecord Seems to Forget My PG Schema
我有一個架構,讓我們稱之為“被遺忘”的架構,並且Rails似乎可以識別並使用它大約幾個小時,但是由於我不知道的原因,我開始遇到以下錯誤:
ActiveRecord::StatementInvalid (PG::Error: ERROR: schema "forgotten" does not exist
LINE 1: SELECT COUNT(*) FROM "forgotten"."stuff"
ActionView::Template::Error (PG::Error: ERROR: schema "forgotten" does not exist
LINE 1: ...COUNT(DISTINCT "forgotten"."other_stuff"."id") FROM "forgotten"."oth...
幾乎像rails一樣忘記了我的架構的存在。
我的database.yml:
production:
adapter: postgresql
encoding: UTF8
username: xxxxxx
host: xxxxx
database: xxxxx
password: xxxxx
我希望這和添加一樣容易:
schema_search_path: 'forgotten, public'
但我得到相同的結果。
一旦開始,我的應用程序的其他部分就可以毫無問題地使用公共表,只是沒有使用非公共模式的任何人。 再次使該工作正常的唯一方法是重新啟動Nginx / passenger。 然后,事情又可以正常工作幾個小時,直到架構問題再次開始。
因此,我謹請希望曾經遇到並解決此問題的開發人員。 謝謝!
因此,看來以下解決了我的問題:
ALTER DATABASE <database> SET search_path = forgotten, public;
由於此命令位於模式搜索路徑的PG優先級的頂部,因此這應該是永久解決方案。 我只是將其添加到遷移中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.