本文档由 g2rain-cms 的
# 数据库约定
docs/development/database-conventions.md 自动同步生成。- MySQL 最低版本为 8.0.13,字符集使用
utf8mb4。 - CMS 数据表以
organ_id表达组织边界;可信上下文、查询条件和写入记录必须一致。 - 逻辑删除查询只返回有效记录,删除后唯一键是否释放必须由领域决策明确。
- 若有效记录唯一且删除后允许重建,使用
(IF(delete_flag = 0, 0, NULL))函数唯一索引。 - 文章标签关系需要数据库唯一约束作为并发去重最后防线,不能只依赖先查后写。
- 版本字段用于乐观锁时,更新失败必须作为冲突处理,不能静默成功。
@IgnoreIsolation只允许明确受信 Service 使用,并在 Service 补足组织和权限校验。scripts/cms.sql只用于空库初始化;生产变更使用可审计的增量迁移,说明历史数据、顺序、验证与回滚。