|
@@ -10511,5 +10511,23 @@ public class DatabaseInitializer implements CommandLineRunner {
|
|
|
// 迁移304: report_type_registry表添加script_status字段(自学习生成采集脚本的状态追踪)
|
|
// 迁移304: report_type_registry表添加script_status字段(自学习生成采集脚本的状态追踪)
|
|
|
ensureColumn("report_type_registry", "script_status",
|
|
ensureColumn("report_type_registry", "script_status",
|
|
|
"VARCHAR(20) DEFAULT NULL COMMENT '采集脚本生成状态: generating/ready/failed'");
|
|
"VARCHAR(20) DEFAULT NULL COMMENT '采集脚本生成状态: generating/ready/failed'");
|
|
|
|
|
+
|
|
|
|
|
+ // 迁移305: 创建 family_member_dimension_base_scores 表(五维基础能量分,支持重算)
|
|
|
|
|
+ try {
|
|
|
|
|
+ jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS family_member_dimension_base_scores (" +
|
|
|
|
|
+ "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
|
|
|
|
|
+ "member_id BIGINT NOT NULL COMMENT '家庭成员ID', " +
|
|
|
|
|
+ "member_type VARCHAR(20) NOT NULL COMMENT '成员类型: child/parent', " +
|
|
|
|
|
+ "dimension_code VARCHAR(20) NOT NULL COMMENT '维度: body/mind/wisdom/action/wealth', " +
|
|
|
|
|
+ "base_score INT NOT NULL COMMENT '基础能量分(0-100)', " +
|
|
|
|
|
+ "last_calculated_at DATETIME NOT NULL COMMENT '最后计算时间', " +
|
|
|
|
|
+ "calculated_by VARCHAR(50) DEFAULT 'system' COMMENT '计算来源(system/manual)', " +
|
|
|
|
|
+ "UNIQUE KEY uk_member_dimension (member_id, dimension_code), " +
|
|
|
|
|
+ "INDEX idx_member (member_id)" +
|
|
|
|
|
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='五维基础能量分(落库,支持重算)'");
|
|
|
|
|
+ log.info("已创建 family_member_dimension_base_scores 表");
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ // 表已存在,忽略错误
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|