Просмотр исходного кода

fix(cfc-backend): relationship_types.capability_role 添加默认值

- ALTER TABLE MODIFY COLUMN capability_role NOT NULL DEFAULT 'parent'
  (修复Field doesn't have a default value错误)
- schema.sql同步: capability_role列+default_role列并存(兼容保留)
Xiaogang Liao 2 месяцев назад
Родитель
Сommit
f5b3817f2f

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

@@ -2816,6 +2816,14 @@ log.info("已添加template_id列到tasks表");
             log.warn("relationship_types capability_role 迁移失败: {}", e.getMessage());
             log.warn("relationship_types capability_role 迁移失败: {}", e.getMessage());
         }
         }
 
 
+        // 确保capability_role有默认值(生产库该列NOT NULL无默认值,导致INSERT时Field doesn't have a default value错误)
+        try {
+            jdbcTemplate.execute("ALTER TABLE relationship_types MODIFY COLUMN capability_role VARCHAR(20) NOT NULL DEFAULT 'parent' COMMENT '能力角色: parent/child'");
+            log.info("已修改relationship_types.capability_role添加默认值'parent'");
+        } catch (Exception e) {
+            log.warn("修改relationship_types.capability_role默认值失败: {}", e.getMessage());
+        }
+
         // ==================== 食材推荐指数 Phase: food_recommend_idx / food_recommend_idx_log ====================
         // ==================== 食材推荐指数 Phase: food_recommend_idx / food_recommend_idx_log ====================
         try {
         try {
             jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS `food_recommend_idx` (" +
             jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS `food_recommend_idx` (" +

+ 2 - 1
cfc-backend/src/main/resources/schema.sql

@@ -1689,7 +1689,8 @@ CREATE TABLE IF NOT EXISTS relationship_types (
     id               BIGINT AUTO_INCREMENT PRIMARY KEY,
     id               BIGINT AUTO_INCREMENT PRIMARY KEY,
     type_key         VARCHAR(50)  NOT NULL UNIQUE COMMENT '类型标识: spouse/parent/child/sibling',
     type_key         VARCHAR(50)  NOT NULL UNIQUE COMMENT '类型标识: spouse/parent/child/sibling',
     type_name        VARCHAR(100) NOT NULL COMMENT '类型显示名: 配偶/父母/子女/兄弟姐妹',
     type_name        VARCHAR(100) NOT NULL COMMENT '类型显示名: 配偶/父母/子女/兄弟姐妹',
-    default_role     VARCHAR(20)  DEFAULT NULL COMMENT '默认角色模板: parent/child',
+    capability_role  VARCHAR(20)  NOT NULL DEFAULT 'parent' COMMENT '能力角色: parent/child',
+    default_role     VARCHAR(20)  DEFAULT NULL COMMENT '默认角色模板: parent/child(已废弃, 兼容保留)',
     sort_order       INT DEFAULT 0 COMMENT '排序序号',
     sort_order       INT DEFAULT 0 COMMENT '排序序号',
     enabled          INT DEFAULT 1 COMMENT '是否启用: 1=启用, 0=禁用',
     enabled          INT DEFAULT 1 COMMENT '是否启用: 1=启用, 0=禁用',
     created_at       DATETIME DEFAULT CURRENT_TIMESTAMP
     created_at       DATETIME DEFAULT CURRENT_TIMESTAMP