Sequelize关联不会使用外键创建列

时间:2019-02-04 17:21:59

标签: sequelize.js

所以我在Sequelize中努力与1:n关联。

我有两种模式:董事会和用户。面板始终仅与一个用户链接,但是一个用户可以创建多个面板。

我的Sequelize模型在两个单独的文件中定义,如下所示:

board.js

module.exports = (sequelize, type) => {
    const Board = sequelize.define('board', {
        boardId: {
            type: type.INTEGER,
            primaryKey: true,
            autoIncrement: true,
        },
        title: type.STRING,
        introductionText: type.STRING,
    });

    Board.associate = (models) => {
        Board.belongsTo(models.User, {
            foreignKey: 'openedBy',
        });
    };

    return Board;
};

user.js

module.exports = (sequelize, type) => {
    const User = sequelize.define('user', {
        userId: {
            type: type.INTEGER,
            primaryKey: true,
            autoIncrement: true,
        },
        name: {
            type: type.STRING,
            unique: true,
        },
        password: type.STRING,
    });

    User.associate = (models) => {
        User.hasMany(models.Board, {
            foreignKey: 'openedBy',
        });
    };

    return User;
};

创建了两个数据库表(“用户”,“木板”),但是“木板”表中没有引用该用户的列,我绝对不知道为什么。你们当中有人知道为什么它不起作用吗?

谢谢。


其他信息:

这是一个MySQL数据库,我正在使用Sequelize 4.42.0版 并且我设置了.sync({ force: true })

0 个答案:

没有答案