From Coda Hale: http://blog.codahale.com/2006/04/20/on-booleans-and-database-portability/. On booleans and database portability Oh, booleans. Simplest and most elusive of database types. How to specify you? Y and N? T and F? 0 or NULL and anything else? If only we knewâ€¦ When working on a Rails app that uses different databases (say, SQLite for development/testing and MySQL for production), be sure that your conditions clauses arenâ€™t assuming a particular form of boolean representation. This will return nothing in SQLite:
@monkeys = Monkey.find(:all, :conditions => 'rabid = 0')
But itâ€™ll work in MySQL. A Solution Autogenerate that sucker!
@monkeys = Monkey.find(:all, :conditions => ['rabid = ?', false])