|
|
@@ -4108,6 +4108,22 @@ try {
|
|
|
|
|
|
// 迁移35: points_log表添加family_member_id列(EnergyService.calcChildWealth家庭能量计算需要)
|
|
|
ensureColumn("points_log", "family_member_id", "BIGINT COMMENT '家庭成员ID'");
|
|
|
+
|
|
|
+ // 迁移36: family_members表添加generation + is_spouse列(辈分重构)
|
|
|
+ ensureColumn("family_members", "generation", "INT COMMENT '辈分值(0=家庭创建者,+n=向上n代,-n=向下n代)'");
|
|
|
+ ensureColumn("family_members", "is_spouse", "TINYINT(1) DEFAULT 0 COMMENT '是否配偶(同辈)'");
|
|
|
+
|
|
|
+ // 迁移37: 旧数据generation赋值(基于relationship_type映射)
|
|
|
+ try {
|
|
|
+ jdbcTemplate.execute("UPDATE family_members SET generation = 0, is_spouse = 1 WHERE relationship_type = 'spouse'");
|
|
|
+ jdbcTemplate.execute("UPDATE family_members SET generation = 1 WHERE relationship_type = 'parent'");
|
|
|
+ jdbcTemplate.execute("UPDATE family_members SET generation = -1 WHERE relationship_type IN ('child')");
|
|
|
+ jdbcTemplate.execute("UPDATE family_members SET generation = 0 WHERE relationship_type = 'sibling'");
|
|
|
+ jdbcTemplate.execute("UPDATE family_members SET generation = 0 WHERE generation IS NULL AND relationship_type IS NOT NULL");
|
|
|
+ log.info("已迁移family_members.generation数据");
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("迁移family_members.generation数据失败: {}", e.getMessage());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void insertSysConfigSeed(String key, String value, String desc) {
|