
I Built a Schema Migration Tool for Cassandra Because Nothing Else Worked
Flyway and Liquibase treat Cassandra like PostgreSQL. They miss async DDL, distributed locking, and partial failures. So I built cqltrack — open-source CLI + Python library with schema agreement, LWT locking, and a CQL linter. And then open-sourced it. If you manage Apache Cassandra in production, you've felt this pain. You need to add a column, create an index, or restructure a table. So you SSH into a node, open cqlsh , and paste your CQL. Then you do it again on staging. Then someone on your team does the same change slightly differently on another cluster. Sound familiar? I looked at existing tools. Flyway has a Cassandra plugin. Liquibase can talk CQL. But they all treat Cassandra like PostgreSQL with a different query language. They miss the hard parts: DDL is asynchronous. When you CREATE TABLE , the coordinator returns success before all nodes know the table exists. Your next statement — CREATE INDEX on that table — lands on a different node that hasn't seen it yet. It fails. F
Continue reading on Dev.to DevOps
Opens in a new tab



