A lightweight Java tool for versioned schema and data migrations in Cassandra databases.
Cassandra Migration Tool for Java is a lightweight library that executes versioned schema and data migrations on Apache Cassandra databases. It solves the problem of evolving database schemas and transforming data in live environments without disrupting operations. The tool tracks migrations in a dedicated table, allowing controlled and testable updates as part of the development lifecycle.
Java developers and DevOps engineers working with Apache Cassandra who need to manage database schema changes and data transformations in production systems.
It provides a simple, integrated way to handle Cassandra migrations with version tracking and schema agreement, avoiding manual scripts and ensuring consistency across clusters. Unlike generic tools, it is specifically designed for Cassandra's architecture and integrates seamlessly with the DataStax Java driver.
Cassandra schema migration tool for java
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles both schema changes and data transformations, as demonstrated in examples like adding a genre column and populating it with historical data from the books.cql test case.
Automatically logs migrations in a schema_version table, providing audit trails and ensuring ordered execution, as highlighted in the key features.
Waits for schema propagation across all cluster nodes before proceeding, leveraging DataStax driver fixes to prevent inconsistencies, mentioned in the schema agreement section.
Migrations are part of the Java codebase, allowing for unit testing and version control alongside application logic, as emphasized in the philosophy and examples.
Exclusively designed for Apache Cassandra, making it unsuitable for projects using other databases or needing cross-database migrations, evident from its tight coupling with DataStax driver.
While it tracks migration history, the tool does not provide built-in mechanisms to revert migrations in case of failures, a common need in production environments.
Requires the Java environment and aligns with DataStax driver versions, which may complicate adoption in non-Java stacks or with alternative Cassandra drivers.