避免交易渗入 DDL 和硬化多孔种族

FixSecurityService
已装运
2026年4月20日 20:43 UTC
作者
Kamo
提交
d3249b4

上一个自愈将 DDL 设置在 @ Transactional syndall () 中 。 当另一边 表ADD CONSTRAINT对一项现有限制(第一次以后的通常情况) 靴子,或者在多波德比赛中丢失的吊舱, runIdempotent吞下爪哇 例外 – 但周围的 DB 交易处于中止状态 。 随后的每次 JPA 呼叫都点击“ 当前交易中止, 命令 ” 在每次重新启动时,将吊舱取下。 变化 : - 同步All( ) 不再是 @ Transactal 。 每个阶段都有自己的 自主: DDL 自动承诺在 Spring TX 外的每个语句, 所以 a 单声明失败不能毒害任何东西。 - 确保独有约束()在尝试ADD之前检查 pg constract, 因此“ 已经存在” 错误不会在正常重启时起火 。 - 自我注射 (@ 懒惰自已) 所以子方法的@ Transactional 实际上 通过 Spring 代理点火( 上一个此调用 . syncOrgRoleRights ()) 绕过AOP). - 记录了同时进行的种族分析:DDL由CRDB序列化, DELETES 独家,通过 ON CONFLICT Do Nothing 插入种族安全.

所有更改

就像你看到的运输?

每一个都自动更新您工作空间的地盘。 开始自由,看它成长 一周又一周.

永远开始自由查看定价