Sequelize - 结 table 从未创建

Sequelize - Junction table never created

我一直在尝试构建一个简单的 'messages' 应用程序。在尝试 MongoDB 之后,我发现 MySQL.[=14= 确实是最好的选择]

因此,我想学习使用 ORM a.k 从头开始​​构建它,而不是手动编写所有 tables / 查询等。续集。

假设我有一个用户 table:

    var User = sequelize.define('user', {
        email: {
            type: Sequelize.STRING,
            validate:  {
                isEmail: true
                //msg: "Email is invalid"
            }
        }
    }

还有一条消息table:

var Message =  sequelize.define('message', {
    message: {type: Sequelize.STRING},
    sender: {type: Sequelize.STRING},
    read: {type: Sequelize.BOOLEAN}
}

每个用户可以有多条消息,每条消息可以有 2 个用户在对话中。

所以当我这样做时:

User.hasMany(Message);
Message.belongsToMany(User, {through: 'Conversation', foreign_key: 'id'});

User.sync();
Message.sync();

我希望有一个 'junction table' 命名的对话...持有 user_id 的..并且每条消息都有对 Conversation_id 的引用,但显然它不是真的。 ..

有人知道正确的方法是什么吗?

谢谢!

要创建 Conversations table,您需要同步全部:sequelize.sync();.