You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker+CodeBuild运行Flyway报错flyway_schema_history表已存在如何解决

问题根因

Flyway 执行迁移任务前会自动创建flyway_schema_history元数据表来记录迁移进度,而你打包的V1迁移脚本V1__PSK_cdk_250821.sql的3811行手动写了创建同名表的DDL语句,两者执行顺序冲突导致报错。

排查步骤
  • 打开V1__PSK_cdk_250821.sql文件,定位到3811行,确认存在手动创建flyway_schema_history表的语句,绝大多数情况是导出初始库结构时,把Flyway生成的元数据表也一起导出到脚本里了
  • 登录Flyway配置中连接的PostgreSQL数据库,执行DROP TABLE IF EXISTS public.flyway_schema_history;,确认你手动删表的数据库和CodeBuild中Flyway连接的是同一个实例、同一个schema,避免环境配置错误导致删表不生效
  • 查看CodeBuild的环境变量配置,确认Flyway的连接参数、schema配置没有写错,排除连错库的可能
解决方案
  • 移除V1__PSK_cdk_250821.sql中所有和flyway_schema_history表相关的DDL、DML语句,这个表由Flyway自身维护,禁止用户在迁移脚本中操作
  • 如果是整库导出的初始脚本,后续导出时过滤掉flyway_schema_history表,避免重复出现该问题
  • 脚本修改完成后,再次手动删除数据库中残留的flyway_schema_history表,重新触发CodeBuild执行Flyway迁移即可
  • 测试环境可临时在Flyway启动参数中添加-clean参数测试全量迁移流程,生产环境严禁使用该参数,会清空对应schema下的所有数据

内容的提问来源于stack exchange,提问作者Jiban7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:06:05