feat: 引入 Flyway 数据库迁移管理 [AC-INIT]
- 添加 flyway-core 和 flyway-mysql 依赖 - 将 init.sql 转换为 Flyway 迁移脚本 V1__init.sql - 删除旧的 init.sql 和 V1__add_channel_type.sql - 配置 application.yml Flyway 设置
This commit is contained in:
parent
339dccde43
commit
067c70f116
10
pom.xml
10
pom.xml
|
|
@ -104,6 +104,16 @@
|
||||||
<artifactId>resilience4j-timelimiter</artifactId>
|
<artifactId>resilience4j-timelimiter</artifactId>
|
||||||
<version>${resilience4j.version}</version>
|
<version>${resilience4j.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.flywaydb</groupId>
|
||||||
|
<artifactId>flyway-core</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.flywaydb</groupId>
|
||||||
|
<artifactId>flyway-mysql</artifactId>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,12 @@ spring:
|
||||||
name: wecom-robot
|
name: wecom-robot
|
||||||
profiles:
|
profiles:
|
||||||
active: dev
|
active: dev
|
||||||
|
flyway:
|
||||||
|
enabled: true
|
||||||
|
locations: classpath:db/migration
|
||||||
|
baseline-on-migrate: true
|
||||||
|
baseline-version: 0
|
||||||
|
validate-on-migrate: true
|
||||||
|
|
||||||
mybatis-plus:
|
mybatis-plus:
|
||||||
mapper-locations: classpath:mapper/*.xml
|
mapper-locations: classpath:mapper/*.xml
|
||||||
|
|
|
||||||
|
|
@ -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`);
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
-- 创建数据库
|
-- V1__init.sql - 初始化数据库表结构
|
||||||
CREATE DATABASE IF NOT EXISTS wecom_robot DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
-- Flyway 迁移脚本
|
||||||
|
|
||||||
USE wecom_robot;
|
|
||||||
|
|
||||||
-- 会话表
|
-- 会话表
|
||||||
CREATE TABLE IF NOT EXISTS `session` (
|
CREATE TABLE IF NOT EXISTS `session` (
|
||||||
|
|
@ -63,7 +61,7 @@ CREATE TABLE IF NOT EXISTS `transfer_log` (
|
||||||
INDEX `idx_trigger_time` (`trigger_time`)
|
INDEX `idx_trigger_time` (`trigger_time`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='转人工记录表';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='转人工记录表';
|
||||||
|
|
||||||
-- 快捷回复表 (可选)
|
-- 快捷回复表
|
||||||
CREATE TABLE IF NOT EXISTS `quick_reply` (
|
CREATE TABLE IF NOT EXISTS `quick_reply` (
|
||||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '自增ID',
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '自增ID',
|
||||||
`cs_id` VARCHAR(64) DEFAULT NULL COMMENT '客服ID,为空表示公共',
|
`cs_id` VARCHAR(64) DEFAULT NULL COMMENT '客服ID,为空表示公共',
|
||||||
|
|
@ -74,7 +72,3 @@ CREATE TABLE IF NOT EXISTS `quick_reply` (
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
INDEX `idx_cs_id` (`cs_id`)
|
INDEX `idx_cs_id` (`cs_id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='快捷回复表';
|
) 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';
|
|
||||||
Loading…
Reference in New Issue