Database-independent migration library
Alternatives To Ragtime
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Migrate12,2578154 days ago132June 11, 2023294otherGo
Database migrations. CLI and Golang library.
Flyway7,3814,044551a day ago192July 27, 2023136apache-2.0Java
Flyway by Redgate • Database Migrations Made Easy.
10 days ago1February 27, 2018336otherCommon Lisp
Migrate to PostgreSQL in a single command!
Phinx4,4133,4944373 days ago90January 07, 2023140mitPHP
PHP Database Migrations for Everyone
Goose4,375651382 days ago60July 26, 202363otherGo
A database migration tool. Supports SQL migrations and Go functions.
Dbmate3,78752 days ago37June 23, 202324mitGo
:rocket: A lightweight, framework-agnostic database migration tool.
Simplebank3,23734 days ago6April 11, 20214mitGo
Backend master class: build a simple bank service in Go
Fluentmigrator2,984548163a month ago52January 14, 2022225apache-2.0C#
Fluent migrations framework for .NET
Express Typescript Boilerplate2,946
5 months ago94mitTypeScript
A delightful way to building a RESTful API with NodeJs & TypeScript by @w3tecch
2 years ago61gpl-3.0Python
Bittorrent software for cats
Alternatives To Ragtime
Select To Compare

Alternative Project Comparisons


Build Status

Ragtime is a Clojure library for migrating structured data in a way that's database independent. It defines a common interface for expressing migrations, much like Ring defines a common interface for expressing web applications.


Add the following dependency to your deps.edn file:

dev.weavejester/ragtime {:mvn/version "0.9.3"}

Or to your Leiningen project file:

[dev.weavejester/ragtime "0.9.3"]


Ragtime needs three pieces of data to work:

  1. A migratable data store
  2. An ordered sequence of migrations
  3. A strategy on how to deal with conflicts

A data store is an implementation of the DataStore protocol, and tells Ragtime how to record which migrations are applied to an arbitrary store of data, such as a database.

Since 0.5.0, migrations are implementations of the Migration protocol, which has three methods:

  • id - returns a unique ID for the migration
  • run-up! - applies the migration to a database
  • run-down! - rolls back the migration in a database

Ragtime comes with a way of loading SQL migrations from files, and applying them to a SQL database.



Copyright © 2022 James Reeves

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version

Popular Migration Projects
Popular Database Projects
Popular Data Processing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Clojure Library