Ответ 1
При создании столбцов, которые документированы для метода column
, существует ряд опций. Они также применяются к add_column
при последующих модификациях.
Самый сжатый способ сделать более ограниченный столбец:
t.string :name, :limit => 20
t.string :age, :limit => 6
В качестве примечания, очень необычно вводить ограничения, подобные этому в вашей базе данных, и лучшим решением является ограничение на модель с помощью validates
. Например:
validates :name,
:presence => true,
:length => { :maximum => 20 }
MySQL имеет тенденцию урезать слишком длинные значения, не сообщая вам, поэтому ограничение длины не приведет к потере данных, особенно с такой короткой длиной.
Помните, что столбцы VARCHAR
в базе данных являются переменной длиной, поэтому нет преимущества хранения десятизначного значения в VARCHAR(255)
по сравнению с VARCHAR(20)
.