Explorar el Código

fix(health-plan): health_plans补updated_at/审核字段列,修复selectById Unknown column

- DatabaseInitializer迁移: health_plans新增updated_at列(实体含但表缺,selectById报错)
- schema.sql同步: health_plans CREATE TABLE补reviewed_by/reviewed_at/review_comment/teacher_id/updated_at
Xiaogang Liao hace 1 mes
padre
commit
4346df06aa

+ 6 - 0
cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java

@@ -2979,6 +2979,12 @@ log.info("已添加template_id列到tasks表");
 		} catch (Exception ex) {
 			log.warn("health_plans.teacher_id 添加失败(可能已存在): " + ex.getMessage());
 		}
+		// 迁移251b: health_plans 新增 updated_at 列(实体HealthPlan含该字段,缺失导致selectById报Unknown column)
+		try {
+			ensureColumn("health_plans", "updated_at", "DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'");
+		} catch (Exception ex) {
+			log.warn("health_plans.updated_at 添加失败(可能已存在): " + ex.getMessage());
+		}
         ensureColumn("file_record", "file_type", "VARCHAR(50) DEFAULT NULL COMMENT '文件类型: image/pdf/video/audio/other'");
         ensureColumn("file_record", "description", "TEXT COMMENT '文件描述'");
 

+ 5 - 0
cfc-backend/src/main/resources/schema.sql

@@ -4557,6 +4557,11 @@ CREATE TABLE IF NOT EXISTS health_plans (
     created_at    DATETIME DEFAULT CURRENT_TIMESTAMP,
     plan_json     TEXT         COMMENT '结构化方案内容(JSON)',
     status        VARCHAR(20)  DEFAULT 'draft' COMMENT '方案状态: draft(草稿)/confirmed(已确认)',
+    reviewed_by   BIGINT DEFAULT NULL COMMENT '审核人ID(规划师/营养师)',
+    reviewed_at   DATETIME DEFAULT NULL COMMENT '审核时间',
+    review_comment TEXT DEFAULT NULL COMMENT '审核意见',
+    teacher_id    BIGINT DEFAULT NULL COMMENT '指定规划师ID(用户选择)',
+    updated_at    DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
     INDEX idx_family (family_id),
     INDEX idx_created (created_at)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='健康方案汇总记录';