SailsJs 模型长整数支持与 postgresql
SailsJs Models long integer support with postgresql
我在使用 Sails 应用程序 运行 PostgreSQL 数据库时遇到问题。我需要插入一个 11 位整数,但我找不到为此调整模型的简单方法。
编辑 1
这是一个模型的例子:
/**
* Phone.js
*
* @docs :: http://sailsjs.org/#!documentation/models
*/
module.exports = {
attributes: {
number: {
type: 'integer',
required: true,
minLength: 9
}
}
};
有没有办法(使用 ORM)在 Postgre 中将该整数更改为 BIGINT,这样我在插入时就不会得到 ERROR: integer out of rage
?
据此,你应该可以将 "bigint" 定义为类型
https://github.com/balderdashy/sails-postgresql/blob/master/lib/utils.js#L241
还支持 float, real, smallint 等。 . .
将类型定义为 bigint 在我的案例中不起作用。我在模型中创建条目时遇到验证错误。
但是,我给出了以下属性,
type: string,
numeric: true,
minLength: 10
还不错,但不是我想要的。
您的值被 return 编辑为字符串的原因是因为 PostgreSQL's maximum value for BIGINT (2^63-1 = 9223372036854775807) is considerably bigger than Javascript's Number.MAX_SAFE_INTEGER (2^53 - 1 = 9007199254740991) 所以如果 Sails / Waterline ORM 要投射您的 return ed 值始终是一个整数,有可能破坏事物。
所以,每次 return 一个字符串更安全。
我能够通过使用以下属性设置它来使其工作:
type: 'ref',
columnType: 'int8',
我在使用 Sails 应用程序 运行 PostgreSQL 数据库时遇到问题。我需要插入一个 11 位整数,但我找不到为此调整模型的简单方法。
编辑 1 这是一个模型的例子:
/**
* Phone.js
*
* @docs :: http://sailsjs.org/#!documentation/models
*/
module.exports = {
attributes: {
number: {
type: 'integer',
required: true,
minLength: 9
}
}
};
有没有办法(使用 ORM)在 Postgre 中将该整数更改为 BIGINT,这样我在插入时就不会得到 ERROR: integer out of rage
?
据此,你应该可以将 "bigint" 定义为类型
https://github.com/balderdashy/sails-postgresql/blob/master/lib/utils.js#L241
还支持 float, real, smallint 等。 . .
将类型定义为 bigint 在我的案例中不起作用。我在模型中创建条目时遇到验证错误。
但是,我给出了以下属性,
type: string,
numeric: true,
minLength: 10
还不错,但不是我想要的。
您的值被 return 编辑为字符串的原因是因为 PostgreSQL's maximum value for BIGINT (2^63-1 = 9223372036854775807) is considerably bigger than Javascript's Number.MAX_SAFE_INTEGER (2^53 - 1 = 9007199254740991) 所以如果 Sails / Waterline ORM 要投射您的 return ed 值始终是一个整数,有可能破坏事物。
所以,每次 return 一个字符串更安全。
我能够通过使用以下属性设置它来使其工作:
type: 'ref',
columnType: 'int8',