From 5d1af9c70aae104f4b8b0459a14f8ee9e140c166 Mon Sep 17 00:00:00 2001 From: mediabot-pt <295750538+mediabot-pt@users.noreply.github.com> Date: Sun, 5 Jul 2026 21:54:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20MySQL8.4=E4=B8=8D=E6=94=AF=E6=8C=81IF=20?= =?UTF-8?q?NOT=20EXISTS=E6=94=B9=E4=B8=BAALTER=20TABLE=E5=8D=95=E7=8B=ACtr?= =?UTF-8?q?y-catch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/par/api/config/FlywayConfig.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/par-api/src/main/java/com/par/api/config/FlywayConfig.java b/par-api/src/main/java/com/par/api/config/FlywayConfig.java index f9501d6..0363e2c 100644 --- a/par-api/src/main/java/com/par/api/config/FlywayConfig.java +++ b/par-api/src/main/java/com/par/api/config/FlywayConfig.java @@ -24,9 +24,9 @@ public class FlywayConfig { log.info("Flyway migrate: applying pending migrations..."); flyway.migrate(); - // V15: tags 列 + 新表(Flyway Java 迁移可能因包路径问题不触达) + // V15: tags 列 + 新表 try (var conn = dataSource.getConnection(); var stmt = conn.createStatement()) { - stmt.execute("ALTER TABLE sites ADD COLUMN IF NOT EXISTS tags JSON NULL COMMENT '标签列表' AFTER description"); + try { stmt.execute("ALTER TABLE sites ADD COLUMN tags JSON NULL COMMENT '标签列表' AFTER description"); } catch (Exception ex) { log.debug("tags may exist: {}", ex.getMessage()); } stmt.execute("CREATE TABLE IF NOT EXISTS site_pages (" + "id BIGINT AUTO_INCREMENT PRIMARY KEY, site_id VARCHAR(64) NOT NULL, version VARCHAR(20) NOT NULL DEFAULT '1.0.0', " + "entries_json LONGTEXT NOT NULL, deleted TINYINT NOT NULL DEFAULT 0, " + @@ -37,9 +37,9 @@ public class FlywayConfig { "rules_json LONGTEXT NOT NULL, deleted TINYINT NOT NULL DEFAULT 0, " + "created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, " + "INDEX idx_site_type (site_type, deleted)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4"); - log.info("V15 tables initialized via FlywayConfig"); + log.info("V15 tables initialized"); } catch (Exception e) { - log.warn("V15 migration failed (may already exist): {}", e.getMessage()); + log.error("V15 migration failed: {}", e.getMessage()); } }; }