我在開發中的rails應用程序中包含sqlite3數據庫。在早期開發中,應用程序中沒有任何表具有已編制索引的字段(除了始終編入索引的ID),並且在部署到Heroku時,應用程序已找到。Heroku - 沒有記錄的索引表失敗
然後,我改變了三個表,使得每個表都有一個字段(除了被索引的ID)被索引爲唯一的,而且我還有一個沒有索引字段的表的字段不是ID。即使表中沒有記錄,應用程序也能正常工作,但是當應用程序通過postgres推送到Heroku時,應用程序在每個索引表上都失敗,但不在未索引的表上。
應用程序加載時沒有錯誤消息,並且在運行「heroku run rake db:migrate」時沒有錯誤。
日誌中的錯誤消息是「PG :: UndefinedTable:ERROR:relation」[tablename]「不存在」,看起來像表不在那裏。有沒有人有任何想法,我怎麼可以去找到問題或修復它?
我已經試過在本地完全刪除和重建數據庫,並且幾次刪除Heroku上的應用程序和數據庫並重新部署,都無濟於事。
我真的很聰明!任何幫助將感激地收到!
請多關照,
您是否修改了已經在Heroku上執行的遷移? –
是的 - 我修改了cloud9上的遷移,刪除了Heroku上的應用程序和數據庫,創建了一個新的git,並再次部署和遷移了應用程序/數據庫。 – user3331154
使用命令「Heroku pg:psql」我決定嘗試創建其中一個表。查看命令和響應。我覺得有些東西和我一樣困惑......輸入第一條命令:「CREATE TABLE」Breeds「(」id「INTEGER PRIMARY KEY NOT NULL,」breedName「varchar NOT NULL)」Heroku Response:「ERROR:relation」Breeds 「 已經存在」。第二個命令輸入「SELECT * FROM Breeds;」 Heroku響應:錯誤:關係「品種」不存在「 – user3331154