删除默认外键列

时间:2018-03-23 21:43:00

标签: sequelize.js

我正在学习Sequelize并且不理解片刻。默认情况下,将从目标模型名称和目标主键名称生成belongsTo关系的外键。可以使用foreignKey选项覆盖默认外键。

我有2个表(员工,部门)有这样的关联:

db.employee.belongsTo(db.department, {foreignKey: 'emp_depID'});
db.department.hasMany(db.employee);

我在employee表中声明了类似'emp_depID'的foreignKey,它引用了department的id,但在我的表中我也有默认列 - department.id,其值为Null。如何删除此默认列?我不需要它。

1 个答案:

答案 0 :(得分:0)

module.exports = function(connection, Sequelize){
  var Department = connection.define('Department', {
    name : Sequelize.STRING(50)
  });
  Department.removeAttribute('id');

  return Department;
};

在返回模型之前使用removeAttribute方法删除任何属性