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

Flyway Teams版本无法在新版CLI中正常使用的技术咨询

Flyway Teams Edition授权在v9.x CLI中无法识别的解决方案

问题场景

  • 试用Flyway Teams版本,仅从指定地址获取的v8.5.9企业专属版CLI可正常启用Teams功能(如batch配置)
  • 升级至v9.2、v9.9版本后,已通过配置文件设置licenseKey、环境变量FLYWAY_EDITION=teams、命令行参数-teams指定Teams版本,但系统仍无法识别授权,执行带batch配置的validate命令时抛出FlywayTeamsUpgradeRequiredException
  • 三个版本在移除batch和license key配置后,以社区版模式执行validate命令均正常

执行命令

FLYWAY_EDITION=teams
$FLYWAY_PATH/flyway -teams -X validate -defaultSchema=$default_schema -url="$JDBC_CONNECTION_STRING" -configFiles=$CONF_FILE -placeholders.segment=${{ parameters.segment }}

错误日志

DEBUG: Loading config file: /azp/_work/1/s/flyway-9.9.0/conf/flyway.conf
DEBUG: Unable to load config file: /root/flyway.conf
DEBUG: Unable to load config file: /azp/_work/1/s/infra/flyway/flyway.conf
DEBUG: Loading config file: /azp/_work/1/s/infra/flyway/./dev.conf
DEBUG: Using configuration:
DEBUG: flyway.baselineDescription -> Base Migration
DEBUG: flyway.baselineOnMigrate -> true
DEBUG: flyway.baselineVersion -> 0.0
DEBUG: flyway.batch -> true
DEBUG: flyway.cleanDisabled -> false
DEBUG: flyway.configFiles -> ./dev.conf
DEBUG: flyway.defaultSchema -> METADATA
DEBUG: flyway.ignoreMigrationPatterns -> *:pending
DEBUG: flyway.jarDirs -> /azp/_work/1/s/flyway-9.9.0/jars
DEBUG: flyway.jdbcProperties.authenticator -> snowflake_jwt
DEBUG: flyway.jdbcProperties.schema -> METADATA
DEBUG: flyway.jdbcProperties.tracing -> FINEST
DEBUG: flyway.jdbcProperties.user -> *****
DEBUG: flyway.licenseKey -> FL****************
DEBUG: flyway.locations -> filesystem:sql
DEBUG: flyway.placeholders.environment -> dev
DEBUG: flyway.placeholders.segment -> ***
DEBUG: flyway.schemas -> METADATA
DEBUG: flyway.url -> jdbc:snowflake://aza98716.us-east-1.snowflakecomputing.com/?(...)
DEBUG: flyway.user -> ******
ERROR: Unexpected error
org.flywaydb.core.internal.license.FlywayTeamsUpgradeRequiredException: Flyway Teams Edition upgrade required: batch is not supported by Flyway Community Edition
    at org.flywaydb.core.api.configuration.ClassicConfiguration.setBatch(ClassicConfiguration.java:1005)
    at org.flywaydb.core.api.configuration.ClassicConfiguration.configure(ClassicConfiguration.java:1615)
    at org.flywaydb.core.api.configuration.FluentConfiguration.configuration(FluentConfiguration.java:943)
    at org.flywaydb.commandline.Main.getLegacyConfiguration(Main.java:281)
    at org.flywaydb.commandline.Main.main(Main.java:122)

原因分析

  1. v9.x版本分发与授权逻辑变更:Flyway v9.x开始统一CLI包分发(不再区分专属企业版和社区版),原v8.x的专属企业版CLI在v9.x中不兼容,需使用官方通用CLI包并通过license激活Teams功能
  2. license版本兼容性:部分v8.x试用license仅支持旧版本,无法在v9.x中激活Teams功能
  3. 配置加载优先级问题:v9.x对配置优先级的处理调整,可能导致授权相关配置未被正确读取

解决方案

1. 使用官方通用CLI包

放弃旧的专属企业版CLI,从Flyway官方下载v9.x通用CLI包(包含社区版和Teams/Enterprise版功能),替代指定地址的专属版本

2. 确认license适配v9.x

联系Flyway官方确认当前试用license是否支持v9.x版本,若不支持申请适配v9.x的试用license

3. 调整配置确保授权生效

按照v9.x配置优先级规则,确保授权配置被正确加载:

  • 命令行直接指定license key:在命令中添加-licenseKey=FL****************(优先级最高,避免配置文件加载问题)
  • 确保环境变量生效:执行CLI前确认FLYWAY_EDITION=teams和FLYWAY_LICENSE_KEY=FL****************已正确设置(可通过echo $FLYWAY_EDITION验证)
  • 检查配置文件:确认dev.conf中包含flyway.edition=teams和flyway.licenseKey=FL****************,无拼写错误

4. 验证授权状态

执行以下命令查看debug日志,确认授权配置已生效:

FLYWAY_EDITION=teams
$FLYWAY_PATH/flyway -teams -X info -defaultSchema=$default_schema -url="$JDBC_CONNECTION_STRING" -configFiles=$CONF_FILE

查看日志中是否存在flyway.edition -> teams的配置项,且无授权验证失败的错误信息

额外排查

  • 确认v9.x CLI包完整性,重新下载避免文件损坏
  • 若在CI/CD环境(如Azure Pipelines)中执行,确认环境变量和配置文件路径正确,无权限问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 12:15:33