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

MacOS下使用Flyway运行Snowflake脚本时遇架构识别错误

解决MacOS上Flyway连接Snowflake报错“Unable to determine Original Schema for the Connection”

以下是针对该问题的排查和解决步骤:

1. 统一Flyway版本

Mac通过brew安装的Flyway可能和Windows上使用的版本不一致,版本差异会导致驱动或逻辑兼容问题:

  • 查看Mac上的Flyway版本:flyway -v
  • 查看Windows上的Flyway版本,将Mac版本调整为一致:
    • 降级/升级brew版Flyway:brew install flyway@<版本号>,然后关联到该版本:brew link flyway@<版本号> --force

2. 显式指定默认Schema

确保Flyway配置中明确指定目标Schema,避免自动识别失败:

  • 在flyway.conf配置文件中添加:
    flyway.defaultSchema=YOUR_TARGET_SCHEMA
    
    注意:Snowflake的Schema名称区分大小写,如果创建时用双引号指定了小写名称,这里也要带双引号。
  • 或者在执行命令时直接指定:
    flyway migrate -defaultSchema=YOUR_TARGET_SCHEMA
    

3. 检查并设置用户默认Schema

Snowflake用户的默认Schema可能未正确配置,导致Flyway无法识别:

  • 登录Snowflake执行查询,确认当前用户默认Schema:
    SELECT CURRENT_SCHEMA();
    
  • 如果默认Schema不符,修改用户配置:
    ALTER USER YOUR_SNOWFLAKE_USER SET DEFAULT_SCHEMA = YOUR_TARGET_SCHEMA;
    

4. 替换Snowflake JDBC驱动

Brew安装的Flyway自带的Snowflake驱动版本可能存在兼容性问题,替换为Windows上可用的驱动:

  • 找到Mac上Flyway的驱动目录(示例路径,根据实际版本调整):
    cd /usr/local/Cellar/flyway/9.22.3/libexec/drivers
    
  • 删除原有Snowflake驱动文件,将Windows上Flyway使用的snowflake-jdbc-<版本>.jar复制到该目录
  • 重新执行Flyway迁移命令

5. 完善连接URL参数

确保JDBC URL中明确指定Schema:

flyway.url=jdbc:snowflake://<your-account>.snowflakecomputing.com/?db=YOUR_DB&schema=YOUR_SCHEMA&warehouse=YOUR_WH

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:10:30