マイグレーション - lanchester/rails_environment GitHub Wiki

integer の limit オプション

integerlimitを指定すると作られるintの型が変わります。

:limit カラムサイズ 最大値
1 tinyint 1byte 127
2 smallint 2byte 32767
3 mediumint 3byte 8388607
nil, 4, 11 int(11) 4byte 2147483647
5..8 bigint 8byte 9223372036854775807

:booleantinyint(1)になります。

int型の数値オプションは実際に格納できるbit数を表しているわけではなく、()内で指定した桁数に満たない場合は左側に空白を埋める、という意味を持ちます。これはつまりint(11)であれば123という値は________123として表示されます。実際の値はint(3)でもint(11)でも123であることは変わりません。