未设置 Sequelize 外键默认值

时间:2021-02-11 16:51:01

标签: mariadb sequelize.js

我试图在与 ma​​riadb 数据库的一对多关系中将外键的默认值从 null 更改为 1。为此,我遵循了 solution 给出的 @Irfandy Jip,但这对我不起作用。 使用的两个表是主持人。每个组可以包含多个主机。

群组模型

sequelize.define("groups", {
    name: {
        type: Sequelize.STRING,
        allowNull: false,
        unique: true
    },
    description: {
        type: Sequelize.STRING,
        allowNull: true
    }
})

主机模型

sequelize.define("hosts", {
    host: {
        type: Sequelize.STRING,
        allowNull: false,
        unique: true,
        validate: {
            isIP: true
        }
    },
    description: {
        type: Sequelize.STRING,
        allowNull: true
    },
    username: {
        type: Sequelize.STRING,
        allowNull: false,
        unique: true
    },
    password: {
        type: Sequelize.STRING,
        allowNull: false,
        unique: false
    }
})

关系

db.group.hasMany(db.host, {
    foreignKey: 'groupId'
});
db.host.belongsTo(db.group, {
    foreignKey: 'groupId',
    allowNull: false,
    defaultValue: 1
});

在手动删除两个表后,我也尝试 sequelize.sync({ force: true }),但没有任何改变:该外键的默认值固定为“未定义”而不是 1。

Database columns

0 个答案:

没有答案