マイグレーション - lanchester/rails_environment GitHub Wiki
integer の limit オプション
integerでlimitを指定すると作られる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 |
:booleanはtinyint(1)になります。
int型の数値オプションは実際に格納できるbit数を表しているわけではなく、()内で指定した桁数に満たない場合は左側に空白を埋める、という意味を持ちます。これはつまりint(11)であれば123という値は________123として表示されます。実際の値はint(3)でもint(11)でも123であることは変わりません。