实现基于MinIO的对象存储功能,包括: 1. 新增MinioProperties配置类 2. 创建UploadStorage接口及Minio/Local实现 3. 重构MediaLibraryService使用统一存储接口 4. 添加MinIO模式下文件服务控制器 5. 提供docker-compose.minio.yml部署配置 6. 更新文档说明MinIO集成方式 支持本地存储和MinIO对象存储两种模式,可通过upload.storage配置切换
3.1 KiB
3.1 KiB
仓库内 SQL 文件说明(避免误执行、误删)
上线「方案 2」:以开发库为真相
- 用于生产一次性导入:
wuhan_saga_prod_YYYYMMDD.sql(全库mysqldump,含结构与数据)。 - 导入后不要再按顺序重放本目录下历史
patch_*.sql/migration_*.sql(除非你在维护很老的库且确认缺列)。
附件与 MinIO
- 图片路径在库中仍为
/uploads/{分类}/{文件名}。upload.storage=minio时文件在对象存储桶内键为uploads/...,需把原uploads/目录同步进桶(见仓库docker-compose.minio.yml与后端application.yml中minio.*)。
日常开发以代码为准的 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.sqlserver/target/classes/data.sql
以上由 Maven 拷贝资源生成,改源文件应以 server/src/main/resources/ 为准。