/cassandra-migration

Apache Cassandra / DataStax Enterprise database migration (schema evolution) library

Primary LanguageKotlinApache License 2.0Apache-2.0

License Master Build Status Maven Central Downloads Downloads

Cassandra Migration

cassandra-migration is a simple and lightweight Apache Cassandra database schema migration tool.

It is a Kotlin fork of Contrast Security's Cassandra Migration project, which has been manually re-based to closely follow Axel Fontaine / BoxFuse Flyway project.

It is designed to work similar to Flyway, supporting plain CQL and Java-based migrations. Both CQL execution and Java migration interface uses DataStax's Cassandra Java driver.

Limitations

The tool does not roll back the database upon migration failure. You're expected to manually restore from backup.

Resources

Refer to the Project Wiki for the full documentation.

Contributing

We follow the "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Commit changes to a branch in your fork (use snake_case convention):
    • For technical chores, use chore/ prefix followed by the short description, e.g. chore/do_this_chore
    • For new features, use feature/ prefix followed by the feature name, e.g. feature/feature_name
    • For bug fixes, use bug/ prefix followed by the short description, e.g. bug/fix_this_bug
  3. Ensure relevant test(s) are added: for bugs, or if existing behaviour are changed or updated
  4. Rebase or merge from "upstream"
  5. Submit a PR "upstream" with your changes

Please read CONTRIBUTING for more details.

License

  Copyright (c) 2016 - 2017 Citadel Technology Solutions Pte Ltd

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

             http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

cassandra-migration project is released under the Apache 2 license. See the LICENSE file for further details.

Contrast Security's Cassandra Migration project is released under the Apache 2 license. See Contrast Security Cassandra Migration project license page for further details.

Flyway project is released under the Apache 2 license. See Flyway's project license page for further details.