2011-09-15 94 views
1

它傳遞參數作爲replacement_emails,這是正確的。從日誌:的Heroku不設置布爾領域的Rails應用

Parameters: {"utf8"=>"✓", "authenticity_token"=> ... "replacement_emails"=>"1"}, "commit"=>"submit", "id"=>"1"} 

但它沒有在數據庫中設置。在日誌中沒有錯誤消息,什麼都沒有。它使用SQLite進行開發。

有什麼想法?爲什麼它在開發中運行但在Heroku上沒有生產?

+0

沒有你看看Heroku的日誌? –

+0

這是heroku日誌。就像我說的,沒有錯誤信息。 – Slick23

+0

您應該發佈相關的型號代碼和遷移。此外,Heroku使用Postgres,而不是SQLite - 在開發和生產中使用相同的環境總是一個好主意。 – eugen

回答

1

做部署的回滾之後,再重新部署 - 這只是突然的作品。不知道什麼是錯的。

2

當我遇到類似問題並且可能能夠解釋發生了什麼時,我今天遇到了您的問題。

在Heroku上運行Rails遷移不會自動導致您的應用程序重新啓動,因此您的新代碼可能會通過其現有數據庫連接看到數據庫的舊視圖。這可能會導致一些奇怪的行爲(例如訪問一個在執行遷移之前不存在的列)。

應用的手動重啓將導致它重新連接到數據庫,並看到的變化。

回滾或重新部署也會導致應用程序重新啓動並重新連接到數據庫。

只要記住運行軌道遷移後重新啓動應用程序。

+0

我傾向於在現在一直在遷移之後重新啓動。 – Slick23