Sequelize belongsToMany没有创建新表

时间:2015-08-17 17:28:47

标签: mysql sequelize.js

使用sequelize,我希望这一行:

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

在我的数据库中生成一个名为' user_company'的新表。这将链接用户'桌子和公司'一起吃饭。但是,它并没有这样做。当我说

时,我误解了文档
  

这将创建一个名为UserProject的新模型   等效的外键ProjectId和UserId。是否属性   camelcase与否取决于表中加入的两个模型(in   这种情况用户和项目。)

或者我做错了什么?

以下是我正在建立的关系

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$/});

1 个答案:

答案 0 :(得分:1)

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

$dir = "/usr/share/nginx/html/example.com/public_html/images/..";

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