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

Artifactory升级报错:Migration 7.25校验和不匹配问题求助

问题分析

当前使用Artifactory 7.27.10,基于Docker Compose部署(搭配Nginx+Oracle数据库)。测试环境中按7.27.10 → 7.49.8 → 7.77.3路径升级无异常,但目标环境直接升级到7.77.3或降级尝试7.49.8时,均触发Flyway校验错误:

Validate failed: Migration checksum mismatch for migration 7.25

对应迁移脚本为V7_25__DbCheck.sql,导致access组件(jfac)无法启动,系统持续重试连接但无法完成初始化。

解决建议
  • 手动更新Flyway校验值

    1. 连接到Oracle数据库,找到access组件的Flyway版本表access_schema_version
    2. 定位到version为7.25的记录,将checksum字段更新为升级日志中显示的本地解析值:
      • 升级7.77.3时用2047900913;升级7.49.8时以日志中给出的本地checksum为准
    3. 执行SQL:
      UPDATE access_schema_version 
      SET checksum = 2047900913 
      WHERE version = '7.25';
      
    4. 重启Artifactory容器,让Flyway跳过校验继续执行后续迁移
  • 用Flyway Repair命令修复

    1. 进入Artifactory容器内部,切换到access组件的Flyway配置目录(通常为/opt/jfrog/artifactory/var/etc/access)
    2. 执行repair命令,替换以下参数为实际数据库信息:
      flyway -url=jdbc:oracle:thin:@<ORACLE_HOST>:<PORT>/<SID> -user=<DB_USER> -password=<DB_PASS> -locations=classpath:db/migration/oracle repair
      
    3. 命令执行完成后重启容器
  • 校验数据库迁移脚本一致性

    1. 从官方对应版本的Artifactory安装包中提取V7_25__DbCheck.sql脚本
    2. 对比数据库中已执行的变更(可通过access_schema_version表的description字段或直接查看数据库结构)与官方脚本是否一致
    3. 若存在手动修改数据库的情况,需将结构调整回与官方脚本一致的状态后再重试升级
  • 严格遵循测试环境的分步升级路径

    1. 先将当前环境完全回退到7.27.10版本(包括数据库、容器数据卷都恢复到升级前状态)
    2. 按7.27.10 → 7.49.8 → 7.77.3的顺序分步升级,每一步都确认Artifactory启动正常、数据库迁移完成后,再进行下一级升级
    3. 避免跨多个大版本直接升级,降低迁移冲突概率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 09:25:29