unis_crm/sql/README.md

60 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2026-03-27 09:05:41 +00:00
# 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`
- 若只是历史修复,不要反向拆散主初始化脚本
这样可以保证:
- 新环境只需要执行一份脚本
- 老环境仍然能追溯每次改动来源