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



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

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

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

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

您应该能够在迁移记录上设置 :limit。在此处查看文档 -- 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