我想調試我正在遷移我的數據庫的問題。rake db:migrate在查看遷移文件之外做什麼?
我有我的應用程序沒有問題中運行,它被推到Heroku的,跑rake db:migrate
,並得到了錯誤
PG::Error: ERROR: relation "places" does not exist LINE 4: WHERE a.attrelid = '"places"'::regclass ^ : SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"places"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
我就覺得很奇怪的是,移民在當地罰款,但不是在遷移時服務器。我發現其他一些人也有類似的問題,但從來沒有發現任何人有解決方案。我在StackOverflow上找到的答案沒有被接受。經過幾個小時嘗試不同的事情之後,我想我會嘗試從頭開始創建一個新的heroku應用程序,並將我的應用程序推向它(對其他人來說),基本上都是從新開始的。
當我這樣做時,我得到了同樣的錯誤,但現在在wineries
。
奇怪的是,在Heroku的推薦下,我嘗試在本地創建一個新的數據庫,並運行我的遷移。
現在本地,我得到相同的錯誤,但在表admin_users
。
我很確定實際的遷移文件沒有錯,因爲每次運行遷移時,我都會得到一個不同的表,因此在某些方面會受到不同的遷移影響。
我試過去掉一些寶石,但仍然是同樣的錯誤。
rake:db是否在除遷移文件以外的任何文件之外查找?這可能是一個關係問題嗎?
有關如何解決此問題的其他建議?
謝謝菲利普,我沒有任何東西在我的初始化,但你的路線是加載在環境中(它出現),事實證明,active_admin添加兩條線到''ActiveAdmin.routes(self) devise_for:admin_users,ActiveAdmin :: Devise.config'這是導致問題的路線。 – pedalpete