Note that as CHANGELOG.txt says "Keep in mind that we typecast TINYINT as boolean on MySQL. So you cannot use tinyint for other things.". Thus instead of TINYINT(1) use SMALLINT(1) or in your installer/migration "I2(1)" instead of "I1(1)" . There does not seem to be any storage penalty (MySQL 5.0 InnoDB engine, MySQL 4.1 InnoDb or MYISAM). Took me a little time to realise why the returned values were not INT as expected.