Вот один я начал и использовали на некоторое время.
https://github.com/heartysoft/aedes
Он поддерживает несколько сред, и управления версиями. Поскольку мы основаны на Windows, это в основном powershell, но нет причин, чтобы сценарий bash не мог быть написан, чтобы сделать эквивалент. Скрипт powershell очень прост. Это требует Powershell v3 +. Использование довольно просто:
aedes.ps1 192.168.40.4 [-u username -p password -env dev]
будет искать файлы схемы в папке .. \ schema. Ожидается, что файлы схемы будут иметь префикс n_. Файлы, специфичные для среды, имеют постфикс .env.cql. Таким образом, если файлы:
1_people.dev.cql
1_people.prod.cql
2_people_some_indexes.cql
3_jobs.dev.cql
3_jobs.prod.cql
4_jobs_something_changed.cql
И запустить его для прода, то те, с .prod.cql и без «окр» .cql будет применяться в порядке. Вы также можете указать $ start версию, которая может использоваться для указания, с чего начать приложение (например, если start задано как 3, то все, что будет с 1_ и 2_, будет пропущено).
Это довольно простой, но, похоже, работает неплохо. Мы просто загружаем Cassandra (не установлена) на «машину-аппликатор» (которая может быть вашей машиной, т. Е. Не является частью кластера) и имеет cqlsh для PATH для более простого приложения. У (и есть) есть планы для большего количества функций, но они работают хорошо, как сейчас.
Инструмент [migrate] (https://github.com/mattes/migrate), на который вы ссылаетесь, также работает как собственный CLI, поэтому вам не нужно использовать go. – 0x6e6562