ローカルで正常に実行されているアプリを Heroku に配置しました (テストでデータベースの gem として sqlite3 を使用)。Heroku にプッシュして実行しようとすると、次のエラーが発生し続けます。
ActiveRecord::StatementInvalid (PG::Error: ERROR: syntax error at or near "order"
LINE 1: ...lery_url_id = 'k19fv2mytjEb_3gCezLeRA') ORDER BY `order` ASC ^
: SELECT "pictures".* FROM "pictures" WHERE (gallery_url_id = 'k19fv2mytjEb_3gCezLeRA') ORDER BY `order` ASC):
app/controllers/galleries_controller.rb:38:in `show'
具体的には、次の行で:
@pictures = Picture.find(:all, :conditions => [ 'gallery_url_id = ?', @gallery.url_id ], :order => "`order` ASC")
注: order はデータベース フィールドであり、SQL 呼び出しや参照ではありません。ですから、私が 2 つの注文をしているとは言わないでください。それはばかげているでしょう。どういうわけかそれがそのように解析されていない限り。これもばかげているでしょう。
ローカル テストで SQLite を使用し、運用環境で PostgreSQL (pg) を使用することによる問題であることは理解しています。私の質問は、これを修正するために何をする必要がありますか? PostgreSQL ではなく SQLite でのみサポートされている検索で呼び出すフラグが原因ですか?