gpt4 book ai didi

sequelize.js - sequelize 事务是原子的吗?

转载 作者:行者123 更新时间:2023-12-03 22:24:57 25 4
gpt4 key购买 nike

我想使用 sequelize 作为我的 REST 后端的 ORM。我只需要确定一些事情,sequelize事务是原子的,这意味着提交的事务和回滚的事务之间没有状态。
这是一个例子:
一个项目在任何时候都至少需要一个分配给它的人。
Workers 和 Projects 是多对多的关系,这意味着它需要在两者之间建立一个 Project-Association。
因此,为了使该条件成立,需要创建一个项目,并且需要以原子方式创建关联。 Sequelize 允许这样做,但它没有明确声明事务是原子的,只是它们可以回滚。
那么在这个例子中,有没有可能,数据库暂时处于一个项目没有任何人与之关联的状态?

最佳答案

Sequelize 事务依赖于配置的 RDBMS 事务,因此如果您的 DBMS 支持原子事务(您知道非原子事务吗?),那么您无需担心 Sequelize 事务原子性。
只是不要忘记在所有 CRUD Sequelize 模型方法中指示一个 sequelize 事务。
有能力读取未提交的事务更改,但需要设置特殊模式,如 READ_UNCOMMITED 以从更改的表中读取脏记录。这不是日常工作的模式,你应该避免它。通常,所有 RDBMS 都默认为所有连接使用类似 READ_COMMITED 的模式,以确保连接只看到已提交的更改。

关于sequelize.js - sequelize 事务是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64968951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com