Files
wuhan-saga/database/SQL_INDEX.md

2.8 KiB
Raw Blame History

仓库内 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.sqlf_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/ 为准。