chore: 更新数据库初始化文件database\sql\wuhan_saga_prod_20260506.sql

This commit is contained in:
2026-05-07 11:29:38 +08:00
parent cec461f229
commit 687cf0ba07
4 changed files with 934 additions and 888 deletions

50
database/SQL_INDEX.md Normal file
View File

@@ -0,0 +1,50 @@
# 仓库内 SQL 文件说明(避免误执行、误删)
## 上线「方案 2」以开发库为真相
- **用于生产一次性导入**`wuhan_saga_prod_YYYYMMDD.sql`(全库 `mysqldump`,含结构与数据)。
- 导入后**不要**再按顺序重放本目录下历史 `patch_*.sql` / `migration_*.sql`(除非你在维护很老的库且确认缺列)。
## 日常开发以代码为准的 DDL
| 文件 | 用途 |
|------|------|
| `server/src/main/resources/schema.sql` | **表结构真相源**(与 Java 实体/Mapper 应对齐) |
| `server/src/main/resources/data.sql` | Spring 在 `sql init` 模式下可能加载的种子数据(本地/演示) |
## 自动生成的一体化初始化(方案 1空库
| 文件 | 用途 |
|------|------|
| `scripts/build-init-from-sql-dumps.ps1` | 合并 `schema.sql` + `database/sql/` 下各 `*_` 碎片数据 → 生成 `wuhan_saga_init.sql` |
| `database/sql/wuhan_saga_init.sql` | **生成物**:空库可只执行此文件(需先保证碎片 SQL 齐全) |
| `database/sql/*.sql`(如 `sys_user.sql``f_news.sql` 等) | 供给上述脚本的**数据碎片**;缺失时脚本会警告 Skip |
## 历史上的迁移 / 补丁(对「已从 dump 导入」的库:视为归档)
以下脚本用于**在某个历史版本的数据库上**做增量变更;若当前库已包含这些变更(例如你已用开发库 dump再执行可能**重复建列、主键冲突**等。
| 文件 | 说明 |
|------|------|
| `database/migration_product_center.sql` | 产品中心三模块、分类等(破坏性 `DELETE` 段落,勿对生产随意重跑) |
| `database/sql/migration_news_multisite.sql` | 新闻多站点 `site_code`;若 `schema.sql` 已含同结构则不必再跑 |
| `database/patch_product_cover_content.sql` | 产品/单体/备件等加列补丁 |
| `database/patch_single_equipment_catalog.sql` | 单体设备分类与软删恢复等 |
| `database/patch_spare_parts_catalog.sql` | 备件拆单品 |
| `database/patch_spare_part_categories.sql` | 备件五大类分组 |
| `database/sql/patch_post_treatment_ppt_content.sql` | PPT 文案/案例等内容型 UPDATE、INSERT |
## 易混淆的「另一套全量脚本」(建议只当备份/对照,勿与 dump 混用)
| 文件 | 说明 |
|------|------|
| `database/wuhan_saga_complete.sql` | 旧式:大量 `DROP TABLE` 后重建,与「仅导入 dump」二选一 |
| `database/wuhan_saga_fresh_install.sql` | 另一脚本生成的**整库安装**副本,与 `wuhan_saga_init.sql` 职能重叠 |
| `database/wuhan_saga_init_from_exports.sql` | `merge-sql-exports-to-init.ps1` 产出,与 `build-init-from-sql-dumps.ps1` 产品线并存,易重复 |
## 构建产物(勿手改)
- `server/target/classes/schema.sql`
- `server/target/classes/data.sql`
以上由 Maven 拷贝资源生成,改源文件应以 `server/src/main/resources/` 为准。