我将Sails与它的PostgreSQL水线ORM一起使用。我在模型属性定义中的defaultsTo
参数上遇到了问题。
这是我的模型定义的一部分:
module.exports = {
tableName: 'table',
attributes: {
[...]
reach: {
type: 'number',
defaultsTo: 0,
}
[...]
}
}
使用Model.create()
时,出现以下控制台警告:
Warning: After transforming columnNames back to attribute names for model `model`,
a record in the result has a value with an unexpected data type for property `reach`.
The corresponding attribute declares `type: 'number'` but instead
of that, the actual value is:
` ` `
'0'
` ` `
我有一堆number
类型属性,因此这会在控制台中引发很多警告。
在这一点上,我认为这是一条水线问题,但是您有避免该警告的解决方法吗?
编辑
我的警告仅出现在Postgres“ BIGINT”列中 我开始理解JS无法将postgres BIGINT作为数字来处理,因此必须将其转换为字符串。
答案 0 :(得分:0)
我找到了一种避免警告的方法: 设置属性的另一种方式:
attributes: {
[...]
reach: {
type: 'ref',
columnType: 'bigint',
isNumber: true,
defaultsTo: 0
},
[...]
}