Flyway 错误:找不到处理 jdbc 的数据库:clickhouse://

问题描述 投票:0回答:1

我正在尝试使用 Flyway 对 Clickhouse 数据库进行版本控制。我的

flyway.conf
文件如下所示:

flyway.url=jdbc:clickhouse://<host>:<port>/<database>?ssl=true
flyway.user=<user>
flyway.password=<password>

我想使用CLI工具来使用flyway,并且通过执行以下命令我有一个正在运行的fly way的docker镜像(从本教程获得)

docker pull redgate/flyway
docker run --rm redgate/flyway

运行

docker run --rm -v <paths> redgate/flyway migrate
后,出现以下错误:

ERROR: No database found to handle jdbc:clickhouse://<host>:<port>/<database>?ssl=true

我的连接需要 SSL。

根据此clickhouse文档,我知道flyway支持clickhouse,但不确定

flyway.conf
设置应该是什么样子。

sql-update flyway clickhouse
1个回答
0
投票

所以......看来你需要的不仅仅是clickhouse jdbc jar来做到这一点(并且有一个针对flyway人员的开放PR:https://github.com/flyway/flyway/pull/3611

我做了什么:

  1. 创建了一个非常简单的pom.xml,仅用于下载所有clickhouse jdbc依赖项

  2. 从创建 clickhouse 插件的人那里克隆了 Flyway 的分支(从这里:https://github.com/sazonov/flyway/tree/clickhouse-support,请注意,该插件位于分支“clickhouse-support”上) )

  3. 创建了一个简单的 Dockerfile 以添加基础 Flyway/flyway docker 映像上的所有内容: 3.1) 驱动程序的依赖项(复制到 /flyway/drivers/ dir) 3.2) 新的 jar 文件 /flyway-community-db-support/target/flyway-community-db-support-*.jar (复制到 /飞行路线/lib/community/dir)

毕竟,我能够在 Clickhouse 上进行迁移

© www.soinside.com 2019 - 2024. All rights reserved.