0

私は、現在Herokuで実行されている、開発中のsqlite3と本番中のpgを実行しているレールアプリを持っています。heroku アプリでエラーが発生します。ユーザーがボタンを押すまで nil として始まる「アーカイブ済み」という列があり、現在の時刻がセルに書き込まれます。次に、アーカイブされた != nil のすべてのメッセージが最新の順に並べられます。

以下は私のherokuログの一部です:

2013-05-07T22:00:31.775149+00:00 app[web.1]: 34 ミリ秒で 500 内部サーバー エラーを完了しました 2013-05-07T22:00:31.785541+00:00 app[web.1]: 2013-05 -07T22:00:31.785541+00:00 app[web.1]: ActionView::Template::Error (PG::Error: エラー: タイプ タイムスタンプの入力構文が無効です: "" 2013-05-07T22:00:31.785541 +00:00 app[web.1]: LINE 1: ... "messages".* FROM "messages" WHERE (archived <> '') ORDER ... 2013-05-07T22:00:31.785541+00: 00 app[web.1]: ^ 2013-05-07T22:00:31.785541+00:00 app[web.1]: : SELECT "messages".* FROM "messages" WHERE (アーカイブ <> '') ORDER BY archived desc LIMIT 10):

これは、問題がコントローラーからの次のコード行であることを示しています。

@archived_messages = Message.where("archived <> ''").limit(10).order('archived desc')

sqlite3 と pg の両方で機能するようにするには、このコードを何に変更すればよいですか?

前もって感謝します。

4

1 に答える 1

0

とった!

@archived_messages = Message.where("archived IS NOT NULL").limit(10).order('archived desc')

ソース: SQLite でローカルに実行されますが、Heroku: PGError: ERROR: "NULL" またはその付近で構文エラーが発生しました

于 2013-05-07T22:48:09.110 に答える