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

时间:2012-11-21 17:16:05

标签: ruby-on-rails

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

2 个答案:

答案 0 :(得分:16)

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

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

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

答案 1 :(得分:-4)

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

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

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

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