Skip to content

magaransoft/nomad

Repository files navigation

Nomad Tests & Docs

A database migration library for Scala 3, with an sbt plugin for workflow automation.

Nomad's approach is manifest-based: migrations are declared in a Scala file that explicitly defines their order, giving you full control and compile-time visibility over your migration history.

When multiple developers merge migrations into the same branch, convention-based tools often produce silent ordering conflicts -- or worse, the migrator blows up in CI with mismatched checksums or out-of-order migrations. With Nomad, concurrent migrations become a simple line conflict in the manifest (Nomad.scala), which is easy to spot and resolve with git or any VCS.

Quick Start

Nomad is published to Maven Central. Add the plugin to project/plugins.sbt:

addSbtPlugin("com.magaran" % "sbt-nomad" % "0.1.0")

Add the core library to your build.sbt:

libraryDependencies += "com.magaran" %% "nomad-core" % "0.1.0"

Initialize the manifest, create your first migration, and run it:

sbt nomadInit
sbt nomadCreate CreateUsersTable
sbt nomadMigrate

Check the wiki for full documentation, including installation details, SQL and Scala migrations, Flyway import, and more.

License

MIT

About

A database migration library that is friendly to concurrent developers

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages