|
@@ -3271,6 +3271,59 @@ try {
|
|
|
log.warn("创建dan_knowledge_base_tag表可能已存在: {}", e.getMessage());
|
|
log.warn("创建dan_knowledge_base_tag表可能已存在: {}", e.getMessage());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 迁移: growth_records表添加来源类型/去重/补充字段
|
|
|
|
|
+ try {
|
|
|
|
|
+ jdbcTemplate.execute("ALTER TABLE growth_records ADD COLUMN source_type VARCHAR(20) DEFAULT 'manual' COMMENT '来源类型: manual/platform_purchase/self_upload/supplement'");
|
|
|
|
|
+ log.info("已添加source_type列到growth_records表");
|
|
|
|
|
+ } catch (Exception e) {}
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ jdbcTemplate.execute("ALTER TABLE growth_records ADD COLUMN source_file_url VARCHAR(500) COMMENT '原始报告文件URL'");
|
|
|
|
|
+ log.info("已添加source_file_url列到growth_records表");
|
|
|
|
|
+ } catch (Exception e) {}
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ jdbcTemplate.execute("ALTER TABLE growth_records ADD COLUMN order_id BIGINT COMMENT '关联订单ID'");
|
|
|
|
|
+ log.info("已添加order_id列到growth_records表");
|
|
|
|
|
+ } catch (Exception e) {}
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ jdbcTemplate.execute("ALTER TABLE growth_records ADD COLUMN report_date DATETIME COMMENT '测评/报告日期'");
|
|
|
|
|
+ log.info("已添加report_date列到growth_records表");
|
|
|
|
|
+ } catch (Exception e) {}
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ jdbcTemplate.execute("ALTER TABLE growth_records ADD COLUMN parent_record_id BIGINT COMMENT '关联的原始档案ID(补充档案专用)'");
|
|
|
|
|
+ log.info("已添加parent_record_id列到growth_records表");
|
|
|
|
|
+ } catch (Exception e) {}
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ jdbcTemplate.execute("ALTER TABLE growth_records ADD COLUMN is_latest TINYINT(1) DEFAULT 1 COMMENT '是否同组最新记录'");
|
|
|
|
|
+ log.info("已添加is_latest列到growth_records表");
|
|
|
|
|
+ } catch (Exception e) {}
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ jdbcTemplate.execute("ALTER TABLE growth_records ADD COLUMN dedup_hash VARCHAR(64) COMMENT '去重哈希值(SHA256)'");
|
|
|
|
|
+ log.info("已添加dedup_hash列到growth_records表");
|
|
|
|
|
+ } catch (Exception e) {}
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ jdbcTemplate.execute("ALTER TABLE growth_records ADD COLUMN parsed_data TEXT COMMENT '上传报告的解析结果(JSON)'");
|
|
|
|
|
+ log.info("已添加parsed_data列到growth_records表");
|
|
|
|
|
+ } catch (Exception e) {}
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ jdbcTemplate.execute("CREATE UNIQUE INDEX IF NOT EXISTS uk_growth_dedup_hash ON growth_records(dedup_hash)");
|
|
|
|
|
+ log.info("已添加uk_growth_dedup_hash唯一索引到growth_records表");
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ jdbcTemplate.execute("ALTER TABLE growth_records ADD UNIQUE INDEX uk_growth_dedup_hash (dedup_hash)");
|
|
|
|
|
+ log.info("已通过ALTER TABLE添加uk_growth_dedup_hash唯一索引");
|
|
|
|
|
+ } catch (Exception e2) {
|
|
|
|
|
+ log.warn("添加uk_growth_dedup_hash索引可能已存在: {}", e2.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// 迁移: foods表添加营养字段
|
|
// 迁移: foods表添加营养字段
|
|
|
ensureColumn("foods", "energy_kj", "DECIMAL(8,2) COMMENT '能量(kJ/100g)'");
|
|
ensureColumn("foods", "energy_kj", "DECIMAL(8,2) COMMENT '能量(kJ/100g)'");
|
|
|
ensureColumn("foods", "starch", "DECIMAL(8,2) COMMENT '淀粉(g/100g)'");
|
|
ensureColumn("foods", "starch", "DECIMAL(8,2) COMMENT '淀粉(g/100g)'");
|