node.js - 使用 Sequelize 一次更新两个关联表中的列

标签 node.js postgresql sequelize.js

我一直在绕圈子。我正在学习很多东西,除了我正在尝试做的一件事。
我有两个表,Projects 和 Tickets,我试图确保当项目的标题更新时,所有关联票证中的项目名称也将更新。
我是 Sequelize 的新手,对 Postgres 不太了解。我了解关联、外键等,但缺少一块拼图。我找不到使用 Sequelise 实现我想做的事情的方法,是时候寻求帮助了。
我的模型如下(我省略了我的问题不需要的属性)

 const Project = db.define('project', {
    title: {
        type: Sequelize.STRING
    },
    description: {
        type: Sequelize.STRING
    }
});

const Ticket = db.define('ticket', {
    title: {
        type: Sequelize.STRING
    },
    project: {
        type: Sequelize.STRING
    }
});
当项目模型中的“标题”列更改时,如何自动更新工单“项目”列?
非常感谢你提前
将要

最佳答案

x.model.js 中,您需要输入以下内容:

// In my case
Users.associate = function (models) {
  this.hasMany(
    models.get('projects', { as: 'projects', onUpdate: 'CASCADE' })
  );
  return this;
};
然后在您的其他模型中:
// In my case
Projects.associate = function (models) {
  this.belongsTo(models.get('users'), {
    foreignKey: 'userId',
    onUpdate: 'CASCADE',
  });
  return this;
};
最后你需要同步你的数据库:
db.sync();

关于node.js - 使用 Sequelize 一次更新两个关联表中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66634132/

相关文章:

node.js - NodeJS Sequelize - 错误的关系方向

node.js - 仅在 readFile() Node js Electron 之后杀死子进程

linux - 在亚马逊服务器上执行 bash 时出现错误 [错误 : spawn EACCES], bash 在正确的路径中

javascript - 如何在 NodeJS 上运行模块?

database - 如何获取 postgresql 9.1 中表空间的可用空间量?

python - 执行函数后删除临时表

node.js - 如何使用 Nestjs HTTP 模块正确处理使用 Axios 发出 HTTP 请求时返回的可观察值

ruby-on-rails - Rails 中的 JSONB 查询包含哈希数组的键

database - 仅从 sequelize 原始查询中获取 dataValues 而不是 Model 实例

node.js - 模型和迁移之间的重复数据