设置 Cassandra Liquibase

Setting up Cassandra Liquibase

我正在尝试设置 cassandra liquibase。 https://github.com/liquibase/liquibase-cassandra

从终端执行的代码:

java -jar  ~/.m2/repository/org/liquibase/liquibase-core/3.4.1/liquibase-core-3.4.1.jar  \
  --driver=org.apache.cassandra.cql.jdbc.CassandraDriver  \
  --classpath="/.../liquibase-cassandra/target/liquibase-cassandra-1.0-SNAPSHOT.jar:/.../liquibase-cassandra/target/cassandra-jdbc-1.2.5.jar"  \
  --changeLogFile=/.../conf/liquibase.xml  \
  --url=jdbc:cassandra://host1--host2--host3:9160/keyspace1 \
  --username=cassandra \
  --password=cassandra \
  update

Error: Unexpected error running Liquibase: Could not initialize class org.apache.cassandra.cql.jdbc.CassandraDriver

我不确定使用 liquibase cassandra 扩展的正确语法是什么。我克隆了 liquibase-cassandra 项目,用 mvn 创建了一个 jar,并假设 liquibase.ext.cassandra.database.CassandraDatabase class 中提到的 org.apache.cassandra.cql.jdbc.CassandraDriver 是我需要的 jdbc 驱动程序。 我对 liquibase 没有任何经验,我还在上大学,在某些领域我的知识还很模糊。

如错误提示,我遇到了 jdbc 驱动程序的问题。我也无法使用 SQLWorkbenchJ 和该驱动程序连接到 Cassandra 数据库。我不确定问题是否出在我的 url 语法上。

我尝试使用不同的 jdbc 驱动程序。 com.github.cassandra.jdbc.CassandraDriver。罐子:cassandra-jdbc-driver-0.6.4-shaded.jar 和 url 罐子:https://github.com/zhicwu/cassandra-jdbc-driver/releases.

Url 此特定驱动程序的语法:url=jdbc:c*://ipaddress:port.

java -jar  /.../.m2/repository/org/liquibase/liquibase-core/3.4.1/liquibase-core-3.4.1.jar \
  --driver=com.github.cassandra.jdbc.CassandraDriver \      
  --classpath="/.../cassandra-jdbc-driver-0.6.4-shaded.jar:/.../liquibase-cassandra/target/liquibase-cassandra-1.0-SNAPSHOT.jar:/.../log4j-1.2.17.jar" \     
  --changeLogFile=/.../conf/liquibase.xml \       
  --url=jdbc:c*://127.0.0.1:9042 \      
  --username=cassandra \      
  --password=cassandra \   
update

这成功了。 :)