Pārlūkot izejas kodu

feat: switch platform datasource to energy_hd and document migration

zhouyang.xie 5 dienas atpakaļ
vecāks
revīzija
bdb021c93a

+ 8 - 0
docs/VERSION.md

@@ -74,6 +74,14 @@ docs/api/fault-frequency.md
 - 批次报警对越限记录补充 `fault_type/characteristic_freq/fault_order/spec_source/diagnosis_detail`;
 - 诊断日志占位符和重复路由问题已修复。
 
+## 2026-11-06 energy_hd 迁移
+
+- 新建 `energy_hd`,保留 admin/hd、角色 1/15、华电 12 个风场及台账/字典/权限数据;
+- 删除华电山东 COM00009 及其 16 个风场、关联机型部件;
+- 清空分析、振动报警、数据接入等非台账数据;
+- 保留 `energy_prod_backup_20261106`、`energy_hd_backup_before_trim_20261106` 备份;
+- 本地/远端 Nacos、后端、Analysis、WTOAAM 数据库指向已切换为 `energy_hd`。
+
 ## 远程推送状态
 
 

+ 133 - 0
docs/database/energy_hd_migration.md

@@ -0,0 +1,133 @@
+# energy_hd 数据库迁移说明
+
+日期:2026-11-06  
+源库:`energy_prod` @ 106.120.102.238:16306  
+目标库:`energy_hd` @ 106.120.102.238:16306
+
+## 1. 备份
+
+迁移前已创建:
+
+```text
+energy_prod_backup_20261106         # energy_prod 全量备份
+energy_hd_backup_before_trim_20261106  # 裁剪前 energy_hd 全量备份
+```
+
+`energy_prod` 未被修改,仍保留 51 张表。
+
+## 2. 保留范围
+
+### 权限
+
+只保留:
+
+```text
+admin  id=2   role=1
+hd     id=140 role=15
+```
+
+对应:
+
+```text
+sys_user_info
+sys_role
+sys_user_role
+sys_role_permission
+sys_permission          # 权限定义全保留,维持菜单树
+sys_organization_auth   # 仅角色 15 的华电组织授权
+```
+
+### 字典
+
+```text
+dict_constants
+unit_dict_constants
+unit_dict_brand_model
+sys_areas_info
+analysis_type
+data_transfer_type
+component_fault_spec
+measurement_point_component
+```
+
+### 台账
+
+```text
+wind_company
+wind_field
+wind_engine_group
+wind_engine_mill
+wind_relation
+wind_field_batch
+wind_field_contract
+wind_field_resource
+anemometer_tower
+anemometer_tower_height
+anemometer_tower_relation
+unit_bearings
+unit_dynamo
+unit_gearbox
+unit_gearbox_bearings
+unit_gearbox_structure
+power_word_relation_contract
+power_word_relation_criterion
+```
+
+## 3. 删除范围
+
+- 删除 `wind_company` 中 `COM00009 华电山东`;
+- 删除其 16 个风场及关联批次、合同、资源、测风塔关系、机型部件;
+- 其余非保留表数据全部清空,包括:
+
+```text
+analysis_*、auto_analysis_config_*、data_transfer*、
+vibration_alarm_event、vibration_diagnosis_result、
+wind_exception_count、wave_data_transfer*
+```
+
+表结构全部保留。
+
+## 4. 迁移结果
+
+```text
+wind_company        1(仅华电 COM00003)
+wind_field          12
+wind_engine_group   259
+wind_engine_mill    12
+sys_user_info       2
+sys_role            2
+sys_role_permission 123
+sys_permission      77
+unit_dict_brand_model 2544
+component_fault_spec 10
+analysis_result     0
+analysis_diagram_relation 0
+vibration_alarm_event 0
+```
+
+## 5. 配置切换
+
+已切换:
+
+- Nacos `hdlocal/application.properties` 数据源 URL;
+- 平台/健康检查 `application-hdlocal.properties`;
+- Analysis_Multi `PLATFORM_DB_NAME` 默认值及远端启动脚本;
+- WTOAAM `conf/appConfig.json`、`conf/appConfig_prod_internal.json`。
+
+当前服务连接池显示:
+
+```text
+energy_hd       22 个连接
+energy_prod      1 个遗留连接(来自 192.168.50.235,非当前部署服务)
+```
+
+## 6. 回滚
+
+如需回滚,将上述配置改回 `energy_prod` 并重启服务;数据回滚可使用:
+
+```sql
+-- 确认目标后再执行
+DROP DATABASE energy_hd;
+CREATE DATABASE energy_hd;
+-- 从 energy_hd_backup_before_trim_20261106 或 energy_prod_backup_20261106 恢复
+```

+ 32 - 0
energy-manage-service/src/main/resources/application-hdlocal.properties

@@ -0,0 +1,32 @@
+# ============================================================
+# 本机部署兜底配置(Nacos 不可用时使用;Nacos 可用时同名键以 Nacos 为准)
+# 平台库:energy_hd @ 106.120.102.238:16306
+# ============================================================
+spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
+spring.datasource.druid.driver-class-name = com.mysql.cj.jdbc.Driver
+spring.datasource.druid.url = jdbc:mysql://106.120.102.238:16306/energy_hd?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&rewriteBatchedStatements=true&useSSL=false&allowPublicKeyRetrieval=true
+spring.datasource.druid.username = admin
+spring.datasource.druid.password = admin123456
+
+spring.redis.host = 106.120.102.238
+spring.redis.port = 16379
+spring.redis.password = 123456
+spring.redis.database = 1
+
+minio.endpoint = http://127.0.0.1:9000
+minio.accessKey = minioadmin
+minio.secretKey = minioadmin
+minio.bucketName = bucket-zhzn
+minio.bucketPath = http://127.0.0.1:9000
+
+xxl.job.enabled = false
+xxl.job.admin.addresses =
+xxl.job.admin.accessToken =
+xxl.job.executor.appname = energy-manage-service-local
+xxl.job.executor.address =
+xxl.job.executor.ip =
+xxl.job.executor.port = 9996
+xxl.job.executor.logpath = ./logs/xxl
+xxl.job.executor.logretentiondays = 7
+analysis.url = http://127.0.0.1:8080/sAlgorithm/demo/dataAnalysis/analysis
+download.url = http://127.0.0.1:3001