gpt4 book ai didi

mysql - Sequelize belongsToMany 不创建新表

转载 作者:可可西里 更新时间:2023-11-01 07:08:52 32 4
gpt4 key购买 nike

使用 sequelize,我期望这一行:

m.User.belongsToMany(m.Company, {through: 'UserCompany'});

在我的数据库中生成一个名为“user_company”的新表,它将“用户”表和“公司”表链接在一起。然而,它并没有这样做。我是不是误解了文档说的意思

This will create a new model called UserProject with with the equivalent foreign keys ProjectId and UserId. Whether the attributes are camelcase or not depends on the two models joined by the table (in this case User and Project).

还是我做错了什么?

这是我正在建立的关系

m.Company.hasMany(m.User);
m.User.belongsToMany(m.Company, {
through: m.UserCompany
});

m.User.sync({force: true, match: /_test$/});
m.Company.sync({force: true, match: /_test$/});
m.UserCompany.sync({force: true, match: /_test$/});

最佳答案

看来我需要手动创建 UserCompany 模型。所以,UserCompany.js 看起来像:

module.exports = function(sequelize, DataTypes) {

return sequelize.define('UserCompany', {

}, {
freezeTableName: true,
paranoid: true
});

}

然后 belongsToMany 会自动将正确的列添加到表中。

关于mysql - Sequelize belongsToMany 不创建新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32056349/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com