我在尝试链接模型(一对一)后得到了这个错误:
Temporarily using `sails.config.models.migrate="safe"...
(press CTRL+C to cancel-- continuing lift automatically in 0.5 seconds...)
C:Usersalex025AppDataRoamingnpmnode_modulessailsnode_moduleswaterlinelibwaterlinecoreschema.js:168
attr.type = type.toLowerCase();
^
TypeError: Cannot call method 'toLowerCase' of undefined
at Schema.objectAttribute (C:Usersalex025AppDataRoamingnpmnode_modulessailsnode_moduleswaterlinelibwaterlinecoreschema.js:168:26)
at C:Usersalex025AppDataRoamingnpmnode_modulessailsnode_moduleswaterlinelibwaterlinecoreschema.js:58:29
at Array.forEach (native)
at Schema.initialize (C:Usersalex025AppDataRoamingnpmnode_modulessailsnode_moduleswaterlinelibwaterlinecoreschema.js:56:22)
at Core._initialize (C:Usersalex025AppDataRoamingnpmnode_modulessailsnode_moduleswaterlinelibwaterlinecoreindex.js:89:16)
at module.exports (C:Usersalex025AppDataRoamingnpmnode_modulessailsnode_moduleswaterlinelibwaterlinecoreindex.js:50:20)
at module.exports (C:Usersalex025AppDataRoamingnpmnode_modulessailsnode_moduleswaterlinelibwaterlinecollectionindex.js:44:8)
at new child (C:Usersalex025AppDataRoamingnpmnode_modulessailsnode_moduleswaterlinelibwaterlineutilsextend.js:17:39)
at initialize (C:Usersalex025AppDataRoamingnpmnode_modulessailsnode_moduleswaterlinelibwaterlinecollectionloader.js:37:10)
at loadCollection (C:Usersalex025AppDataRoamingnpmnode_modulessailsnode_moduleswaterlinelibwaterline.js:111:29)
之后,我取回了工作代码并尝试运行它,但没有成功。我试着在全球范围内重新安装Sails,但这并没有改变现状。
OS: Windows 8.1
Sails.JS: v0.10.5 (fresh from npm)
用户型号:
module.exports = {
connection: 'mysql',
attributes: {
id: {primaryKey: true},
phone: {
type: 'string',
unique: true,
required: true
},
role: {type: 'string'},
name: {type: 'string'},
city: {type: 'string'}
}
};
驱动程序型号:
module.exports = {
connection: 'mongo',
attributes: {
id: {primaryKey: true},
user: {model: 'User'},
rate: {
type: 'decimal',
required: true
},
cars: {
dominant: true,
collection: 'Car'
}
}
};
车型:
module.exports = {
atributes: {
number: {
type: 'string',
required: true
},
color: {
type: 'string',
required: true
}
}
};
正如我在这里看到的,问题不在于这个问题。
这个问题大约在一年前就结束了。id
属性出现问题。你没有为它设置类型。水线也无法确定它。
尝试完全删除id属性。水线应该自动将其添加到所有模型中(对于mongo,它确实添加了)。如果没有,您将不得不将type设置为您的id属性。
不知道这个问题是否得到了解决,但有一个问题导致了这个错误:
https://github.com/balderdashy/sails/issues/1158
(但日期为1年前)