无法向现有模型sails.js添加新属性

时间:2015-10-14 16:21:56

标签: javascript node.js sails.js waterline

我在sails.js中相当新手。我需要在sails js中为现有模型添加字段。 这是

module.exports = {
    attributes: {
        id: {
            columnName: 'id',
            type: 'integer',
            autoIncrement: true,
            primaryKey: true,
            unique: true
        },
        username: {
            columnName: 'username',
            type: 'STRING',
            required: true,
        },
        userLevel: {
            columnName: 'user_level',
            type: 'integer',
            required: true,
            defaultsTo: 1
        },
...

但是只要在我的模型js中添加字段就像

一样
   newAttribute: {
           columnName: 'new_attribute',
           type: 'integer',
           required: true
    }

我收到错误" E_UKNOWN"。 更确切地说,当我尝试使用更新的模型登录时,我收到此消息:

rr {"data":{"err":{"error":"E_UNKNOWN","status":500,"summary":"Encountered an unexpected error","raw":{"code":"ER_BAD_FIELD_ERROR","errno":1054,"sqlState":"42S22","index":0}}},"status":401,"config":{"method":"POST","transformRequest":[null],"transformResponse":[null],"data":{*email and password here*},"url":"auth/login","headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json;charset=utf-8"}},"statusText":"Unauthorized"}

感谢您的帮助。

UPD如果我将NODE_ENV设置为开发,它可以正常工作。可能是connection.js文件的问题?

1 个答案:

答案 0 :(得分:2)

似乎我找到了问题的解决方案。起初我将NODE_ENV设置为开发,我猜,这些表是创建的。然后我将NODE_ENV更改为生产。现在它的工作没有奇怪的错误。