本目录用于管理 Yunyu 的数据库基线脚本、演示数据脚本与线上升级脚本。
init.sql:当前最新的“完整建表 + 初始化配置”基线脚本。demo/:演示或本地体验数据脚本,不作为生产升级脚本。upgrade/:线上升级增量脚本(表、字段、索引、配置等变更)。
- 每次改动任意 SQL(新增表、字段、索引、初始化配置、升级脚本)后,必须同步更新
docs/技术/sql/init.sql。 - 每次有功能升级 SQL 时,必须新增对应
upgrade脚本,不允许只改init.sql。 init.sql与upgrade/的内容必须可相互印证:init.sql代表最新全量状态,upgrade/代表从旧版本迁移到新版本的增量过程。
- 优先使用幂等写法:
CREATE TABLE IF NOT EXISTS、ADD COLUMN IF NOT EXISTS。 - 破坏性变更(删列、改类型)单独评审,默认不进自动升级脚本。
- 版本升级前先执行数据库备份,再执行升级脚本。