Posted in Web, rails at 1:45:41 by ジュンヤ

rails でつまずいた点をメモっておきます。

mysql で動いていた開発環境を、rails 2.0 以降デフォルトの DB となった sqlite3 にスイッチしたところ、

SQLite3::SQLException: no such column: true: SELECT * FROM some_tables WHERE (some_column = true) ORDER BY created_at DESC LIMIT 1

のようなエラーがでるようになった。

» http://www.ruby-forum.com/topic/142120#630779

を参考にして、

SomeTable.find(:first, :conditions => ’some_column = true’

となっていた部分を

SomeTable.find(:first, :conditions => [’some_column = ?’, true]

と書き換えることにより、mysql でも sqlite3 でも動くようになりました。

mysql では boolean は true と false ですが、sqlite3 では 1 と 0 だからということなのですね。

Webカテゴリの最近の記事             

コメント・トラックバック

この記事のトラックバックURL

コメントを残す