我试图在与 mariadb 数据库的一对多关系中将外键的默认值从 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。