Hi all,
I have also been looking at extending liquibase to support cassandra migrations. It looks like the existing liquibase-cassandra [1] extension relies on using some sort of cassandra-jdbc driver, such as org.apache-extras.cassandra-jdbc:cassandra-jdbc:1.2.5 [2] which has not seen an updated release since 2013.
I started looking into implementing a liquibase-cassandra extension with a DatabaseConnection implementation that uses the Datastax Java driver under the hood, which is actively developed and uses CQL & the cassandra binary protocol [3]. The first impediment towards this (or in general extending liquibase to support any non-JDBC system) seems to be the fact that DatabaseFactory is responsible to locate the JDBC driver and setup the JDBC connection. Should this perhaps be the responsibility of the DatabaseConnection implementation? eg. add a method to DatabaseConnection interface like:
Thanks,
Vassilis
[1] https://github.com/liquibase/liquibase-cassandra
[2] http://search.maven.org/#artifactdetails|org.apache-extras.cassandra-jdbc|cassandra-jdbc|1.2.5|jar
[3] http://wiki.apache.org/cassandra/ClientOptions
I have also been looking at extending liquibase to support cassandra migrations. It looks like the existing liquibase-cassandra [1] extension relies on using some sort of cassandra-jdbc driver, such as org.apache-extras.cassandra-jdbc:cassandra-jdbc:1.2.5 [2] which has not seen an updated release since 2013.
I started looking into implementing a liquibase-cassandra extension with a DatabaseConnection implementation that uses the Datastax Java driver under the hood, which is actively developed and uses CQL & the cassandra binary protocol [3]. The first impediment towards this (or in general extending liquibase to support any non-JDBC system) seems to be the fact that DatabaseFactory is responsible to locate the JDBC driver and setup the JDBC connection. Should this perhaps be the responsibility of the DatabaseConnection implementation? eg. add a method to DatabaseConnection interface like:
- void openConnection(Map<String, String> connectionProperties, ResourceAccessor resourceAccessor);
Thanks,
Vassilis
[1] https://github.com/liquibase/liquibase-cassandra
[2] http://search.maven.org/#artifactdetails|org.apache-extras.cassandra-jdbc|cassandra-jdbc|1.2.5|jar
[3] http://wiki.apache.org/cassandra/ClientOptions