# SQL Scripts 当前项目的数据库脚本按“一个主初始化脚本 + 一组历史归档脚本”的方式整理: - 主初始化脚本:`sql/init_full_pg17.sql` - 历史迁移与修数脚本:`sql/archive/*.sql` ## 推荐用法 ### 1. 全新初始化数据库 直接执行主脚本: ```bash psql -d your_database -f sql/init_full_pg17.sql ``` 这份脚本已经吸收了目前项目里所有必要的结构兼容调整,适合作为当前唯一推荐的 PostgreSQL 17 初始化入口。 ### 2. 老环境排查或追溯 历史变更脚本保存在: - `sql/archive/alter_*.sql` - `sql/archive/fix_*.sql` - `sql/archive/init_pg17.sql` 这些文件仅用于: - 追溯某次字段演进 - 排查老环境与当前结构差异 - 定位某次修数逻辑来源 正常部署时,不建议按时间顺序逐个执行 `archive` 里的脚本。 ## 当前目录说明 - `sql/init_full_pg17.sql` 当前项目的完整初始化脚本,也是唯一推荐执行的入口。 - `sql/archive/init_pg17.sql` 旧版本初始化快照,仅保留历史参考,不再作为正式入口。 - `sql/archive/alter_*.sql` 历史结构变更脚本。 - `sql/archive/fix_*.sql` 历史修数脚本。 ## 维护约定 - 新增正式字段时,优先更新 `sql/init_full_pg17.sql` - 若该字段来自一次线上增量变更,同时保留对应 `sql/archive/alter_*.sql` - 若只是历史修复,不要反向拆散主初始化脚本 这样可以保证: - 新环境只需要执行一份脚本 - 老环境仍然能追溯每次改动来源