2011-09-15 13 views
1

パラメータがreplacement_emailsとして渡されていますが正しいです。ログから:Herokuはレールアプリケーションにブール値フィールドを設定していません

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

ただし、データベースに設定されていません。ログにエラーメッセージはありません。何もありません。これはSQLiteで開発中に動作します。

どのような考えですか?なぜそれが開発ではなく、Heroku上の生産で動作しますか?

+0

あなたはヒロクのログを見ましたか? –

+0

それは英雄ログです。私が言ったように、エラーメッセージはありません。 – Slick23

+0

関連するモデルコードと移行を掲載する必要があります。また、HerokuはSQLiteではなくPostgresを使用しています。開発と生産に同じ環境を使用することは常に良い考えです。 – eugen

答えて

1

デプロイメントのロールバックを実行した後、再デプロイすると、突然動作します。何が間違っていたのか分からない。

2

私は同じ問題を抱えていた今日あなたの質問に出くわし、何が起こっていたのかを説明することができます。

Heroku上でRailsを実行しても自動的にアプリケーションが再起動されるわけではないので、新しいコードには既存のデータベース接続を介してデータベースの古いビューが表示されることがあります。これは、(移行が実行されるまで存在しなかった列へのアクセスのような)いくつかの奇妙な動作を引き起こす可能性があります。

アプリケーションを手動で再起動すると、データベースに再接続され、変更が反映されます。

ロールバックまたは再デプロイによって、アプリケーションが再起動してデータベースに再接続されます。

railsの移行後にアプリケーションを再起動することを忘れないでください。

+0

私は移行の後で常に再起動する傾向があります。 – Slick23