busybyte / flutterby

FP Scala Wrapper for Flyway

Version Matrix

Build Status Scala Steward badge Maven Central


FP Scala Wrapper for Flyway


Add one of the following to libraryDependencies in build.sbt.

Cats Effect 1.x

Supports Scala 2.12.x

"dev.shawngarner" %% "flutterby-cats_1_x" % "<release-version>"

Cats Effect 2.x

Supports Scala 2.12.x and 2.13.x

"dev.shawngarner" %% "flutterby-cats_2_x" % "<release-version>"

Basic Usage

import cats.effect.IO
import cats.implicits._
import flutterby.core.Flutterby
import flutterby.cats.config.ConfigBuilder
import flutterby.cats.syntax.all._

val flutterby: IO[Flutterby[IO]] =
      .dataSource(jdbcUrl, dbUserName, dbPassword)

for {
    fb                                <- flutterby
    successfullyAppliedMigrationCount <- fb.migrate()
    infoAfterMigrate                  <- fb.info()
} yield (successfullyAppliedMigrationCount, infoAfterMigrate)


flutterby Flyway Cats Effect Scala Java
0.1.x 5.2.x+ 1.x 2.12.x 1.8+
0.1.x 5.2.x+ 2.x 2.12.x/2.13.x 1.8+
0.2.x 6.4.x+ 1.x 2.12.x 1.8+
0.2.x 6.4.x+ 2.x 2.12.x/2.13.x 1.8+