Sequelize员工未创建

时间:2018-02-05 11:12:20

标签: node.js sequelize.js

一个非常直截了当的问题。我使用的是nodejs 5.6,express 4和sequelize 4.在程序中,我有一个属于user对象的company对象。

var User = sequelize.define('user', {
    username: {
        type: Sequelize.STRING
    },
    password: {
        type: Sequelize.STRING
    }
});

const Company= sequelize.define('companny', {
    record: {
        type: Sequelize.JSON
    }
});

Company.associate = function(models) {
    console.log(models)
    Company.hasMany(models.User, {
        foreignKey: {
            // name: 'user',
            allowNull: true
        }
    })
}

运行程序时,使用用户和公司表创建数据库,但八个用户或公司中没有外键。控制台什么也没输出。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

最后,index.js文件here回答了我的问题。

答案 1 :(得分:0)

我通常会使用此方法来创建模型:

// User model
export default (sequelize, DataTypes) => {
  const User = sequelize.define('User', {
    email: {
      allowNull: false,
      type: DataTypes.STRING,
      unique: true
    },
    password: {
      allowNull: false,
      type: DataTypes.STRING,
    }
  });

  return User;
};

// Company model
export default (sequelize, DataTypes) => {
  const Company = sequelize.define('Company', {
    record: {
        type: DataTypes.JSON
    }
  });

  Company.associate = (models) => {
    console.log(models)
    Company.hasMany(models.User, {
        foreignKey: 'userId'
    })
  }

  return Company;
};