Change Intelligence is coming.

What support does Liquibase have for ScyllaDB?

Last updated: July 13, 2026

ScyllaDB is a Cassandra-compatible database. Liquibase uses the Cassandra extension to connect to and deploy changes to ScyllaDB. For connection setup, see Connect Liquibase with Cassandra.

Supported Liquibase Secure Features

The following Liquibase Secure features are supported with ScyllaDB:

  • Policy Checks: Changelog checks and database checks are both supported.

  • Secrets Management: AWS Secrets Manager, AWS S3, and HashiCorp Vault are compatible with Liquibase and operate independently of the target database.

  • Structured Logging: Supported. Use --log-format=json to enable.

  • Operation Reports: Update, rollback, diff, drift, and checks run reports are all supported.

  • Flow Files: Supported.

Note: The DATABASECHANGELOGHISTORY table is not supported for ScyllaDB. Passing --dbclhistory-enabled=true does not create the table.

Supported Liquibase commands

The following Liquibase commands are available with ScyllaDB:

Command

Supported

calculate-checksum

Supported

changelog-sync

Supported

changelog-sync-sql

Supported

changelog-sync-to-tag

Supported

changelog-sync-to-tag-sql

Supported

checks run

Supported

clear-checksums

Not Supported

connect

Supported

db-doc

Supported

dbcl-history

Supported

diff

Supported

diff-changelog

Supported

drop-all

Supported

execute-sql

Supported

flow run

Supported

future-rollback-count-sql

Supported

future-rollback-from-tag-sql

Supported

future-rollback-sql

Supported

generate-changelog*

Supported

history

Supported

list-locks

Supported

mark-next-changeset-ran

Supported

mark-next-changeset-ran-sql

Supported

release-locks

Supported

rollback

Supported

rollback-count

Supported

rollback-count-sql

Supported

rollback-one-changeset

Supported

rollback-one-changeset-sql

Supported

rollback-one-update

Supported

rollback-one-update-sql

Supported

rollback-sql

Supported

rollback-to-date

Supported

rollback-to-date-sql

Supported

set-contexts

Supported

set-labels

Supported

snapshot

Supported

snapshot-reference

Supported

status

Supported

tag

Supported

tag-exists

Not Supported

unexpected-changesets

Supported

update

Supported

update-count

Supported

update-count-sql

Supported

update-one-changeset

Supported

update-one-changeset-sql

Supported

update-sql

Supported

update-testing-rollback

Supported

update-to-tag

Supported

update-to-tag-sql

Supported

validate

Supported

Supported change types

The following standard Liquibase change types are available with ScyllaDB:

Change type

Supported

addAutoIncrement

Not Supported (the object does not exist on ScyllaDB)

addCheckConstraint

Not Supported (the object does not exist on ScyllaDB)

addColumn

Supported

addDefaultValue

Not Supported (the object does not exist on ScyllaDB)

addForeignKeyConstraint

Not Supported (the object does not exist on ScyllaDB)

addLookupTable

Not Supported (the object does not exist on ScyllaDB)

addNotNullConstraint

Not Supported (the object does not exist on ScyllaDB)

addPrimaryKey

Not Supported (the object does not exist on ScyllaDB)

addUniqueConstraint

Not Supported (the object does not exist on ScyllaDB)

alterSequence

Not Supported (the object does not exist on ScyllaDB)

createIndex

Supported

createProcedure

Not Supported (the object does not exist on ScyllaDB)

createSequence

Not Supported (the object does not exist on ScyllaDB)

createTable

Supported

createTrigger

Not Supported (the object does not exist on ScyllaDB)

createView

Not Supported (the object does not exist on ScyllaDB)

delete

Supported

disableCheckConstraint

Not Supported (the object does not exist on ScyllaDB)

disableTrigger

Not Supported (the object does not exist on ScyllaDB)

dropAllForeignKeyConstraints

Supported

dropCheckConstraint

Not Supported (the object does not exist on ScyllaDB)

dropColumn

Supported

dropForeignKeyConstraint

Not Supported (the object does not exist on ScyllaDB)

dropIndex

Supported

dropNotNullConstraint

Not Supported (the object does not exist on ScyllaDB)

dropPrimaryKey

Not Supported (the object does not exist on ScyllaDB)

dropProcedure

Not Supported (the object does not exist on ScyllaDB)

dropSequence

Not Supported (the object does not exist on ScyllaDB)

dropTable

Supported

dropTrigger

Not Supported (the object does not exist on ScyllaDB)

dropUniqueConstraint

Not Supported (the object does not exist on ScyllaDB)

dropView

Not Supported (the object does not exist on ScyllaDB)

enableCheckConstraint

Not Supported (the object does not exist on ScyllaDB)

enableTrigger

Not Supported (the object does not exist on ScyllaDB)

insert

Supported

loadData

Supported

loadUpdateData

Supported

modifyDataType

Not Supported

renameColumn

Supported

renameSequence

Not Supported (the object does not exist on ScyllaDB)

renameTable

Not Supported (the object does not exist on ScyllaDB)

renameView

Not Supported (the object does not exist on ScyllaDB)

sql

Supported

sqlFile

Supported

update

Supported

Known limitations

1. UPPERCASE identifiers fold to lowercase

CQL does not preserve case for unquoted identifiers. A table created as ORDERS is stored as orders. The Cassandra extension does not quote identifiers, so case-sensitive names are not supported.

Workaround: Use lowercase names in all changesets.

2. Preconditions

Most standard Liquibase preconditions are supported with ScyllaDB. The following preconditions return incorrect results: columnExists, indexExists, primaryKeyExists, and tableIsEmpty.

Workaround: Use the sqlCheck precondition as a substitute. Custom SQL queries run correctly against ScyllaDB.

3. Generated XML does not include primaryKey="true" constraint.

Secure 5.2.1: What support does Liquibase have for ScyllaDB?