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

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类型。

【讨论】:

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

字符串问题----将整数字符串转换成整数值

如何为 type='datetime-local' 的 Input 设置最小值和最大值?

漫画:什么是桶排序?

C/C++ 数据类型 表示最大 最小数值 探讨

如何为 Solidity 生成的整数值生成 sh3_keccak256?

C语言编程:从键盘输入10个数,求最大值,最小值和平均值