- 已装运
- 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 插入种族安全.