2017-12-07 79 views
6
module.exports = (sequelize, DataTypes) => { 
    const User = sequelize.define(
    "User", 
    { 
     username: { 
     type: DataTypes.STRING, 
     unique: true 
     }, 
     firstName: { 
     type: DataTypes.STRING 
     }, 
     lastName: { 
     type: DataTypes.STRING 
     }, 
     email: { 
     type: DataTypes.STRING 
     }, 
     password: { 
     type: DataTypes.STRING 
     }, 
     lastLogin: { 
     type: DataTypes.DATE 
     }, 
     active: { 
     type: DataTypes.BOOLEAN 
     }, 
     lastName: { 
     type: DataTypes.STRING 
     } 
    }, { 
     paranoid: true, 
     classMethods: { 
     associate: models => { 
      User.hasOne(models.User, { 
      as: "createdByUser" 
      }) 

      User.hasOne(models.User, { 
      as: "updatedByUser" 
      }) 
     } 
     } 
    } 
) 

    return User 
}; 

spodziewałbym pole nazywać createdByUser w Postgres DB, ale go tam nie ma. Co ja robię źle?Mój własny referential modelu Sequelize nie stwarza dodatkową kolumnę

Odpowiedz

2

Roztwór

module.exports = (sequelize, DataTypes) => { 
    const User = sequelize.define(
    "User", 
    { 
     username: { 
     type: DataTypes.STRING, 
     unique: true 
     }, 
     firstName: { 
     type: DataTypes.STRING 
     }, 
     lastName: { 
     type: DataTypes.STRING 
     }, 
     email: { 
     type: DataTypes.STRING 
     }, 
     password: { 
     type: DataTypes.STRING 
     }, 
     lastLogin: { 
     type: DataTypes.DATE 
     }, 
     active: { 
     type: DataTypes.BOOLEAN 
     } 
    }, { 
     paranoid: true 
    } 
) 

    User.associate = models => { 
    User.hasOne(models.User, { 
     as: "createdByUser" 
    }) 

    User.hasOne(models.User, { 
     as: "updatedByUser" 
    }) 
    } 

    return User 
}; 

W nowej wersji Sequelize (4+), nie ma potrzeby classMethods

Powiązane problemy