Files
wuhan-saga/database/SQL_INDEX.md

51 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 仓库内 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/` 为准。