我们如何将 Liquibase 用于 ScyllaDB? [关闭]

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

我读过 Liquibase 迁移工具,并为 Cassandra 实现了它。为此,

首先我下载了 Liquibase(4.1.1 版)并将其目录路径添加到 PATH 变量中。

$ echo $PATH
**/home/zaryab/Downloads/Liquibase/liquibase-4.1.1:**/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin

然后我将(Cassandra 4.1.1.2 的 Liquibase 扩展和 Apache Cassandra 的 Simba JDBC 驱动程序)jar 文件添加到下载的 Liquibase 的“lib”文件夹中。

在此之后 Liquibase 运行良好。

$ liquibase status
Liquibase Community 4.1.1 by Datical
####################################################
##   _     _             _ _                      ##
##  | |   (_)           (_) |                     ##
##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
##              | |                               ##
##              |_|                               ##
##                                                ## 
##  Get documentation at docs.liquibase.com       ##
##  Get certified courses at learn.liquibase.com  ## 
##  Get advanced features and support at          ##
##      liquibase.com/support                     ##
##                                                ##
####################################################
Starting Liquibase at 12:39:45 (version 4.1.1 #10 built at 2020-10-12 19:24+0000)
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2 change sets have not been applied to @jdbc:cassandra://localhost:9042/test01;DefaultKeyspace=test01
Liquibase command 'status' was executed successfully.

在此之后我运行 Cassandra Container 使用:

docker run --name cass -p 9042:9042 -d cassandra:3.11.8

然后在这个容器内我创建了名为“test01”的键空间和表“TestME”——两者都运行良好。

然后我新建了一个目录,新建了两个文件:

casschangelog.sql:

--liquibase formatted sql

--changeset zaryab:1
CREATE TABLE test01.TESTME2 ( foo int PRIMARY KEY, bar text );

--rollback DROP TABLE test01.TESTME2;

--changeset zaryab:2
CREATE TABLE test01.TESTME3 ( foo int PRIMARY KEY, bar text );

--rollback DROP TABLE test01.TESTME3;

liquibase.properties:

changeLogFile: casschangelog.sql
url: jdbc:cassandra://localhost:9042/test01;DefaultKeyspace=test01
username: cassandra
password: cassandra
driver: com.simba.cassandra.jdbc42.Driver
defaultSchemaName: test01

在此之后,我从终端运行“liquibase 更新”。它在 test01 键空间中创建了另外两个表。

现在,我正在尝试为 ScyllaDB 做所有这些,但我无法获得任何帮助。请帮助我。我如何为 scyllaDB 做这一切(使用 Liquibase)。

sql cassandra liquibase scylla cassandra-jdbc-driver
1个回答
0
投票

您在问题中引用的 Cassandra JDBC 驱动程序:

driver: com.simba.cassandra.jdbc42.Driver

来自 Simba(现在的 Magnitude Software)不能与 Scylla DB 一起使用。

您在下载驱动程序时同意的许可条款规定您只能将其用于:

Simba 驱动程序是专有软件,不是开源软件,因此它们的使用受规则和条件的约束。干杯!

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