如何为整数列的数值最大值和最小值编写数据库级验证

Posted

技术标签:

【中文标题】如何为整数列的数值最大值和最小值编写数据库级验证【英文标题】:how to write database level validation for numericality max and min value of an integer column 【发布时间】:2016-01-30 16:17:38 【问题描述】:

我想写一个验证来确保整数列的最小值和最大值。

我知道我可以使用helpers of the numericality validation 如下:

  validates :column_name, numericality:  
                                  only_integer: true,
                                  greater_than: 0,
                                  less_than:    100
                                

然而,我的问题是,如果我想为此提供数据库级别的验证,我该怎么做

PS:我正在使用 Postgres。

【问题讨论】:

【参考方案1】:

您可以使用domain;类似:

CREATE DOMAIN something AS INT CHECK (VALUE BETWEEN 1 AND 99)

然后将表列声明为something类型。

【讨论】:

以上是关于如何为整数列的数值最大值和最小值编写数据库级验证的主要内容,如果未能解决你的问题,请参考以下文章