When doing any application that involves a persistent data storage you usually need a way to upgrade and change your database using a set of scripts. Working with patterns like ActiveRecord you get easy up/down by version migrations. But with cassandra, which traditionally was schemaless, there aren’t that many tools out there to do this.
One thing we have been using at my work and at paradoxical is a simple java based cassandra loader tool that does “up” migrations based on db version scripts.
Assuming you have a folder in your application that stores db scripts like
db/scripts/01_init.cql db/scripts/02_add_thing.cql .. db/sripts/10_migrate_users.cql ..
Then each script corresponds to a particular db version state. It’s current state depends on all previous states. Our cassandra loader tracks db versions in a
db_version table and lets you apply runners against a keyspace to move your schema (and data) to the target version. If your … Read more