diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/InterviewInvitationServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/InterviewInvitationServiceImpl.java index d4f955e..4606e79 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/InterviewInvitationServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/InterviewInvitationServiceImpl.java @@ -100,15 +100,15 @@ public class InterviewInvitationServiceImpl implements InterviewInvitationServic log.info("interview_invitation 表创建成功(序列自增)!"); } else { log.info("interview_invitation 表结构正常,检查新增列..."); - // 为已有数据库添加新列(幂等操作,使用 DO 块兼容不支持 IF NOT EXISTS 的数据库版本) + // 为已有数据库添加新列(使用 IF NOT EXISTS,兼容 PostgreSQL / HighGo) try { - stmt.execute("DO $$ BEGIN ALTER TABLE interview_invitation ADD COLUMN company_name varchar(200) NULL; EXCEPTION WHEN duplicate_column THEN END; $$;"); + stmt.execute("ALTER TABLE interview_invitation ADD COLUMN IF NOT EXISTS company_name varchar(200) NULL"); } catch (Exception e) { log.warn("添加 company_name 列失败: {}", e.getMessage()); } try { - stmt.execute("DO $$ BEGIN ALTER TABLE interview_invitation ADD COLUMN job_name varchar(200) NULL; EXCEPTION WHEN duplicate_column THEN END; $$;"); + stmt.execute("ALTER TABLE interview_invitation ADD COLUMN IF NOT EXISTS job_name varchar(200) NULL"); } catch (Exception e) { log.warn("添加 job_name 列失败: {}", e.getMessage()); } try { - stmt.execute("DO $$ BEGIN ALTER TABLE interview_invitation ADD COLUMN interviewer_name varchar(100) NULL; EXCEPTION WHEN duplicate_column THEN END; $$;"); + stmt.execute("ALTER TABLE interview_invitation ADD COLUMN IF NOT EXISTS interviewer_name varchar(100) NULL"); } catch (Exception e) { log.warn("添加 interviewer_name 列失败: {}", e.getMessage()); } } } catch (Exception e) {