2017-11-11 173 views
0

期間schema.rb文件升級到Rails 5之後,我收到類似以下每次我嘗試從模式加載時間(建立一個新的計算機上的應用程序的錯誤信息,運行rails db:test:prepare運行測試之前,等):問題與軌道5升級

ActiveRecord::StatementInvalid: PG::UndefinedObject: ERROR: type "serial" does not exist 
LINE 1: SELECT 'serial'::regtype::oid 

搜索周圍沒有產生太大的幫助。最相關的線程是這一個:https://github.com/rails/rails/issues/30298但我並不想運行任何新的遷移,也不會在schema_plus_indexes寶石似乎有什麼關係問題(在該線程所描述的兩個問題)。

回答

0

在我們的例子中,我們不要讓他們已經對所有數據庫運行後周圍的遷移文件。因此,在升級到rails 5時,存在0個遷移文件。這個問題似乎是,如果您實際運行遷移文件(即使嘗試rails db:migrate而沒有遷移文件存在將不起作用),rails只會自動「修復」您的schema.rb文件。

的解決方案,對我們來說,是創建一個空白的遷移和爲了得到正確格式化的schema.rb文件運行rails db:migrate