如何在迁移脚本中指定整数的大小

我们有两列需要声明为t.integer size(1) and size(2). 即最大尺寸为1(即最多9),最大尺寸为2(即最大为99)。 我应该如何在我的迁移脚本中声明这一点。

您应该能够在迁移记录上设置:limit。 查看此处的文档 – http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html#method-i-column

例如:add_column:my_tbl,:myint,:integer,:limit => 9

这将设置列长度 – 换句话说,它将只允许长达9位的整数。

如果要限制此列的数据输入,则需要在模型中进行validation。 看看http://guides.rubyonrails.org/active_record_validations_callbacks.html#length

您的意思是该列中的值应限制在1-99范围内吗?

创建整数列后,您可以将ActiveRecordvalidation添加到模型中:

 validates_numericality_of :field_name, :in => 1..99