I haven't used Migratus, but I have been using Ragtime for years on multiple projects, and I haven't encountered any issues so far. It's a simple library with a straightforward concept that is very stable and easy to work with and extend. You can use Ragtime for migrating various types of data, similarly to Migratus, although it only supports SQL databases out of the box. For instance, I have implemented Cassandra migrations using Ragtime in a private project. Additionally, with the ragtime-clj
[1] library, you can write migrations using Clojure code [2].
I don't understand Mark's comment about how Ragtime is more involved regarding configuration (maybe I'm missing some advanced things). My typical Ragtime code only requires two calls at application startup: ragtime.repl/migrate
and/or ragtime.repl/rollback
.
[1] https://github.com/mariusz-jachimowicz-83/ragtime-clj
[2] https://github.com/mariusz-jachimowicz-83/ragtime-clj/blob/master/test/migrations/008_test.clj