【问题标题】:Delete default foreign key column删除默认外键列
【发布时间】:2018-09-02 15:53:30
【问题描述】:

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

我有 2 个具有此类关联的表(员工、部门):

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

我已经在员工表中声明了类似“emp_depID”的foreignKey,它引用了部门的ID,但在我的表中,我也有默认列-department.id,值为Null。如何删除此默认列?我不需要它。

【问题讨论】:

    标签: sequelize.js


    【解决方案1】:
    module.exports = function(connection, Sequelize){
      var Department = connection.define('Department', {
        name : Sequelize.STRING(50)
      });
      Department.removeAttribute('id');
    
      return Department;
    };
    

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

    【讨论】:

    • db.employee.belongsTo(db.department, {foreignKey: 'emp_depID'}); db.department.hasMany(db.employee, {foreignKey: 'emp_depID'});
    猜你喜欢
    • 2018-09-15
    • 2014-11-15
    • 2023-03-31
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 2012-08-05
    • 2019-10-29
    • 2014-06-25
    相关资源
    最近更新 更多