unis_crm/sql/README.md

158 lines
5.6 KiB
Markdown
Raw Normal View History

2026-03-27 09:05:41 +00:00
# SQL Scripts
2026-04-30 07:06:53 +00:00
当前项目的数据库脚本按“一个主初始化脚本 + 一组正式增量脚本 + 一组历史归档脚本”的方式整理:
2026-03-27 09:05:41 +00:00
- 主初始化脚本:`sql/init_full_pg17.sql`
2026-05-20 02:01:28 +00:00
- 当前版本合并升级脚本:`sql/upgrade_dashboard_analytics_and_opportunity_schema_pg17.sql`
2026-05-27 05:35:50 +00:00
- 2026-05-25 日历功能升级脚本:`sql/20260525_日历.sql`
2026-04-30 07:06:53 +00:00
- 首页经营分析生产升级脚本:`sql/upgrade_dashboard_analytics_prod_pg17.sql`
2026-05-20 02:01:28 +00:00
- 经营分析卡片历史展示配置修正脚本:`sql/upgrade_dashboard_analytics_card_display_config_pg17.sql`
- 商机实际签约金额字段升级脚本:`sql/upgrade_opportunity_actual_signed_amount_pg17.sql`
2026-04-30 07:06:53 +00:00
- 日报提醒功能初始化脚本:`sql/init_report_reminder_pg17.sql`
- 归属人转移权限初始化脚本:`sql/init_owner_transfer_permissions_pg17.sql`
- 一次性修复/导入工具脚本:
- `sql/import_oms_existing_opportunities_pg17.sql`
2026-03-27 09:05:41 +00:00
- 历史迁移与修数脚本:`sql/archive/*.sql`
## 推荐用法
### 1. 全新初始化数据库
直接执行主脚本:
```bash
psql -d your_database -f sql/init_full_pg17.sql
```
这份脚本已经吸收了目前项目里所有必要的结构兼容调整,适合作为当前唯一推荐的 PostgreSQL 17 初始化入口。
2026-04-30 07:06:53 +00:00
### 2. 老环境功能补齐
如果是已有生产环境,需要补本次首页相关能力,请执行:
```bash
psql -d your_database -f sql/upgrade_dashboard_analytics_prod_pg17.sql
```
这份脚本会补:
- `dashboard_analytics_panel_config`
- `dashboard_analytics_card_config`
- 首页卡片相关权限
- `crm_opportunity.latest_progress`
- `crm_opportunity.next_plan`
- `crm_channel_expansion.certification_level` 注释修正
- 平台菜单权限纠偏
不会写入默认业务卡片,也不会创建目标值业务表。
上线执行顺序、验收项和风险说明见:
- `docs/首页相关能力SQL发布说明.md`
如果老环境需要补“日报提醒”功能,请执行:
```bash
psql -d your_database -f sql/init_report_reminder_pg17.sql
```
如果老环境需要补“归属人转移”权限,请执行:
```bash
psql -d your_database -f sql/init_owner_transfer_permissions_pg17.sql
```
2026-05-20 02:01:28 +00:00
如果老环境需要补“商机实际签约金额”字段,请执行:
```bash
psql -d your_database -f sql/upgrade_opportunity_actual_signed_amount_pg17.sql
```
如果希望直接按当前版本代码一次补齐“经营分析最新结构 + 商机快照字段 + 实际签约金额字段”,可直接执行合并脚本:
```bash
psql -d your_database -f sql/upgrade_dashboard_analytics_and_opportunity_schema_pg17.sql
```
2026-05-27 05:35:50 +00:00
如果本次只需要上线“日历同步”能力,请执行:
```bash
psql -d your_database -f sql/20260525_日历.sql
```
2026-05-20 02:01:28 +00:00
如果需要一次性修正历史经营分析卡片配置,避免旧饼图/环形图/漏斗图升级后标签缺失、旧中文图表预设值无法识别,请执行:
```bash
psql -d your_database -f sql/upgrade_dashboard_analytics_card_display_config_pg17.sql
```
2026-04-30 07:06:53 +00:00
### 3. 一次性工具脚本
- `sql/import_oms_existing_opportunities_pg17.sql`
用于导入指定批次的 OMS 存量商机数据,不属于常规部署脚本。
2026-03-27 09:05:41 +00:00
历史变更脚本保存在:
- `sql/archive/alter_*.sql`
- `sql/archive/fix_*.sql`
- `sql/archive/init_pg17.sql`
这些文件仅用于:
- 追溯某次字段演进
- 排查老环境与当前结构差异
- 定位某次修数逻辑来源
正常部署时,不建议按时间顺序逐个执行 `archive` 里的脚本。
## 当前目录说明
- `sql/init_full_pg17.sql`
当前项目的完整初始化脚本,也是唯一推荐执行的入口。
2026-04-30 07:06:53 +00:00
- `sql/upgrade_dashboard_analytics_prod_pg17.sql`
老环境补齐本次首页相关能力时使用的正式增量脚本,已合并首页权限、商机快照字段升级和平台菜单权限纠偏。
2026-05-20 02:01:28 +00:00
- `sql/upgrade_dashboard_analytics_and_opportunity_schema_pg17.sql`
当前版本推荐的结构合并升级脚本,适用于老环境一次补齐“经营分析配置最新表结构”和“商机快照/实际签约金额字段”。
2026-05-27 05:35:50 +00:00
- `sql/20260525_日历.sql`
本次“日历同步”功能专用升级脚本,用于老环境创建并补齐 `business_calendar_day` 表结构。
2026-05-20 02:01:28 +00:00
- `sql/upgrade_dashboard_analytics_card_display_config_pg17.sql`
经营分析卡片历史展示配置修正脚本,用于清洗旧 `display_text_config` 中的中文图表预设值,并补齐老饼图/环形图/漏斗图的标签显示配置。
- `sql/upgrade_opportunity_actual_signed_amount_pg17.sql`
老环境补齐“商机实际签约金额”字段时使用的正式增量脚本。
2026-04-30 07:06:53 +00:00
- `sql/init_report_reminder_pg17.sql`
老环境补齐“日报提醒”功能时使用的正式增量脚本,已包含表结构与权限。
- `sql/init_owner_transfer_permissions_pg17.sql`
老环境补齐“归属人转移”权限时使用的正式增量脚本。
- `sql/import_oms_existing_opportunities_pg17.sql`
指定业务数据导入脚本,不属于结构升级脚本。
2026-03-27 09:05:41 +00:00
- `sql/archive/init_pg17.sql`
旧版本初始化快照,仅保留历史参考,不再作为正式入口。
- `sql/archive/alter_*.sql`
历史结构变更脚本。
- `sql/archive/fix_*.sql`
历史修数脚本。
## 维护约定
- 新增正式字段时,优先更新 `sql/init_full_pg17.sql`
2026-04-30 07:06:53 +00:00
- 若该字段来自一次线上增量功能发布,同时保留对应正式增量脚本
2026-03-27 09:05:41 +00:00
- 若只是历史修复,不要反向拆散主初始化脚本
2026-04-30 07:06:53 +00:00
- 已被新脚本完整覆盖的旧增量脚本,应及时删除或归档,避免出现多个入口表达同一能力
2026-03-27 09:05:41 +00:00
这样可以保证:
- 新环境只需要执行一份脚本
2026-04-30 07:06:53 +00:00
- 老环境仍然有明确、单一的功能补齐入口
- 目录里不会同时存在多个重复升级脚本