The problem this solves: Golang-migrate supports Cassandra migrations but does not support creating the keyspace itself. This is annoying and leads to having to wrap it with other tooling or scripting to actually use it. Additionally, when running locally, Cassandra or ScyllaDB can take a fair bit of time to start. This tool solves that problem as well. It:
- Creates keyspaces if they are missing before running the migrations
- Checks and retries for up to a couple of minutes waiting for Cassandra to be available