为什么sails.js在启动时失败



我在尝试链接模型(一对一)后得到了这个错误:

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年前)

相关内容

  • 没有找到相关文章

最新更新