+++ date = "2009-08-20" title = "Once and for all: Rails migrations integer :limit option" tags = ["MySQL", "Ruby on Rails", "Rails", "sql", "migrations", "integer", "limit"] slug = "once-and-for-all-rails-migrations-integer-limit-option" +++ I literally always have to look up the meaning of :limit in migrations when it comes to integer values. Here's an overview. Now let's memorise it (oh, this works for MySQL, other databases may work differently):
:limit | Numeric Type | Column Size | Max value |
---|---|---|---|
1 | tinyint | 1 byte | 127 |
2 | smallint | 2 bytes | 32767 |
3 | mediumint | 3 byte | 8388607 |
nil, 4, 11 | int(11) | 4 byte | 2147483647 |
5..8 | bigint | 8 byte | 9223372036854775807 |