【问题标题】:Sequelize associations not creating foreign keysSequelize 关联不创建外键
【发布时间】:2018-06-20 01:45:36
【问题描述】:

我有 2 个模型(在不同的文件中:

user.js

module.exports = (sequelize, DataTypes) => {
    let user = sequelize.define('user', {
        user_id: DataTypes.INTEGER,
        first_name: DataTypes.STRING,
        last_name: DataTypes.STRING,
        email: DataTypes.STRING,
        password: DataTypes.STRING,
        phone: DataTypes.STRING,
        is_phone_verified: DataTypes.BOOLEAN,
    }, {
        underscored: true,
        classMethods: {
            associate(models) {
                user.hasOne(models.userBankAccount);
            },
        },
    });
    return user;
};

user_bank_account.js

module.exports = (sequelize, DataTypes) => {
    const userBankAccount = sequelize.define('user_bank_account', {
        user_bank_account_id: DataTypes.INTEGER,
        user_id: DataTypes.INTEGER,
        item_id: DataTypes.STRING,
        access_token: DataTypes.STRING,
        checking_account_id: DataTypes.STRING,
    }, {
        underscored: true,
        classMethods: {
            associate(models) {
                userBankAccount.belongsTo(models.user);
            },
        },
    });
    return userBankAccount;
};

当我运行 sequelize db:migrate 时,没有在 Postgres DB 中创建外键。

我使用sequelize v4。

有什么想法吗?

【问题讨论】:

    标签: node.js sequelize.js sequelize-cli


    【解决方案1】:

    classMethods 属性不适用于 Sequelize v4。 您应该直接调用 associate 方法。例如:

    userBankAccount.associate = function(models) {}
    user.associate = function(models) {}
    

    【讨论】:

      猜你喜欢
      • 2018-01-05
      • 2021-04-21
      • 2019-04-01
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 2020-09-10
      • 2021-07-25
      • 2021-12-21
      相关资源
      最近更新 更多