Database migrations for Cassandra with ActiveColumn Posted on 6th January 2011 by Michael Wynholds in Development

We at Carbon Five are pleased to announce the release of ActiveColumn – an object mapping framework for Apache Cassandra. Currently at version 0.1.1, this gem is young but functional with its first major feature of data migration support.

Prior to Cassandra 0.7, keyspaces and column families had to be maintained by hand in a configuration file. But starting with version 0.7, these are managed through Cassandra’s Thrift API. ActiveColumn uses this new functionality to deliver data migrations similar to ActiveRecord.

ActiveColumn gives you several tools to help you with your Cassandra data migrations:

A Rails generator for creating migration files

rails g active_column:migration CreateUsersColumnFamily

Several rake tasks for creating and migrating keyspaces

rake ks:create rake ks:drop rake ks:migrate rake ks:rollback (and more)

Some useful data management functions to use within migrations

class CreateUsersColumnFamily < ActiveColumn::Migration def self.up create_column_family :users end def self.down drop_column_family :users end end

The gem is pretty well documented on github, so take a look there for further details.

We hope that you find ActiveColumn useful in your Cassandra project. We are dedicated to keeping it under active development, so check back for further updates, give your feedback below, or jump on the project on github and help drive it forward.

Next up: timeline-based data mapping and querying!