diff --git a/pom.xml b/pom.xml
index cb6f7f6..c92b321 100644
--- a/pom.xml
+++ b/pom.xml
@@ -104,6 +104,16 @@
resilience4j-timelimiter
${resilience4j.version}
+
+
+ org.flywaydb
+ flyway-core
+
+
+
+ org.flywaydb
+ flyway-mysql
+
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0d01b43..303dd11 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -6,6 +6,12 @@ spring:
name: wecom-robot
profiles:
active: dev
+ flyway:
+ enabled: true
+ locations: classpath:db/migration
+ baseline-on-migrate: true
+ baseline-version: 0
+ validate-on-migrate: true
mybatis-plus:
mapper-locations: classpath:mapper/*.xml
diff --git a/src/main/resources/db/migration/V1__add_channel_type.sql b/src/main/resources/db/migration/V1__add_channel_type.sql
deleted file mode 100644
index c6373e2..0000000
--- a/src/main/resources/db/migration/V1__add_channel_type.sql
+++ /dev/null
@@ -1,10 +0,0 @@
--- TASK-003: 数据库 Schema 变更 [AC-MCA-11]
--- Session 表新增 channel_type 字段
-
-ALTER TABLE `session`
-ADD COLUMN IF NOT EXISTS `channel_type` VARCHAR(20) DEFAULT 'wechat'
-COMMENT '渠道类型: wechat/douyin/jd'
-AFTER `kf_id`;
-
--- 添加索引
-CREATE INDEX IF NOT EXISTS `idx_channel_type` ON `session` (`channel_type`);
diff --git a/src/main/resources/db/init.sql b/src/main/resources/db/migration/V1__init.sql
similarity index 90%
rename from src/main/resources/db/init.sql
rename to src/main/resources/db/migration/V1__init.sql
index d4183f2..3508b0c 100644
--- a/src/main/resources/db/init.sql
+++ b/src/main/resources/db/migration/V1__init.sql
@@ -1,7 +1,5 @@
--- 创建数据库
-CREATE DATABASE IF NOT EXISTS wecom_robot DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-
-USE wecom_robot;
+-- V1__init.sql - 初始化数据库表结构
+-- Flyway 迁移脚本
-- 会话表
CREATE TABLE IF NOT EXISTS `session` (
@@ -63,7 +61,7 @@ CREATE TABLE IF NOT EXISTS `transfer_log` (
INDEX `idx_trigger_time` (`trigger_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='转人工记录表';
--- 快捷回复表 (可选)
+-- 快捷回复表
CREATE TABLE IF NOT EXISTS `quick_reply` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '自增ID',
`cs_id` VARCHAR(64) DEFAULT NULL COMMENT '客服ID,为空表示公共',
@@ -74,7 +72,3 @@ CREATE TABLE IF NOT EXISTS `quick_reply` (
PRIMARY KEY (`id`),
INDEX `idx_cs_id` (`cs_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='快捷回复表';
-
--- 如果表已存在,添加新字段
-ALTER TABLE `session` ADD COLUMN IF NOT EXISTS `wx_service_state` INT DEFAULT 0 COMMENT '微信会话状态';
-ALTER TABLE `session` ADD COLUMN IF NOT EXISTS `channel_type` VARCHAR(20) DEFAULT 'wechat' COMMENT '渠道类型: wechat/douyin/jd';