Skip to content

Commit

Permalink
Add Locations
Browse files Browse the repository at this point in the history
  • Loading branch information
geirolz committed Aug 11, 2023
1 parent 8f55c2f commit dd8b5aa
Show file tree
Hide file tree
Showing 7 changed files with 33 additions and 27 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ val fly4sRes: Resource[IO, Fly4s[IO]] = Fly4s.make[IO](
password = dbConfig.password,
config = Fly4sConfig(
table = dbConfig.migrationsTable,
locations = Location.of(dbConfig.migrationsLocations)
locations = Locations(dbConfig.migrationsLocations)
)
)
// fly4sRes: Resource[IO, Fly4s[IO]] = Allocate(
Expand Down Expand Up @@ -160,7 +160,7 @@ def migrateDb(dbConfig: DatabaseConfig): Resource[IO, MigrateResult] =
password = dbConfig.password,
config = Fly4sConfig(
table = dbConfig.migrationsTable,
locations = Location.of(dbConfig.migrationsLocations)
locations = Locations(dbConfig.migrationsLocations)
)
).evalMap(_.validateAndMigrate.result)
```
Expand Down
6 changes: 3 additions & 3 deletions core/example/simple.sc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import cats.effect.IO
import fly4s.core.Fly4s
import fly4s.core.data.{Fly4sConfig, Location, ValidatedMigrateResult}
import fly4s.core.data.{Fly4sConfig, Locations, ValidatedMigrateResult}

case class DbConfig(
name: String,
Expand All @@ -21,7 +21,7 @@ val res: IO[ValidatedMigrateResult] = Fly4s
password = dbConfig.password,
config = Fly4sConfig(
table = dbConfig.migrationsTable,
locations = Location.of(dbConfig.migrationsLocations)
locations = Locations(dbConfig.migrationsLocations)
)
)
.use(_.validateAndMigrate[IO])
.use(_.validateAndMigrate)
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ private[fly4s] object Fly4sConfigDefaults {

// --- migrations ---
val defaultInstalledBy: Option[String] = None
val defaultLocations: List[Location] = List(Location("db/migration"))
val defaultLocations: List[Location] = Locations("db/migration")
val defaultEncoding: Charset = StandardCharsets.UTF_8
val defaultTable: String = "flyway_schema_history"
val defaultTablespace: Option[String] = None
Expand Down
6 changes: 6 additions & 0 deletions core/src/main/scala/fly4s/core/data/Location.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,9 @@ package fly4s.core.data
object Location {
def apply(value: String): Location = new Location(value)
}

object Locations {
def apply(values: String*): List[Location] = Locations(values)
def apply(values: Seq[String])(implicit dummyImplicit: DummyImplicit): List[Location] =
values.map(Location(_)).toList
}
12 changes: 6 additions & 6 deletions core/src/test/scala/fly4s/core/Fly4sPerformanceSuite.scala
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
.make[IO](
url = fly4sDb.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations"))
locations = Locations("/migrations")
)
)
.use(_.migrate),
Expand All @@ -51,7 +51,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
.make[IO](
url = fly4sDb.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations")),
locations = Locations("/migrations"),
ignoreMigrationPatterns = List(
ValidatePattern.ignorePendingMigrations
)
Expand Down Expand Up @@ -84,7 +84,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
.make[IO](
url = fly4sDb.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations")),
locations = Locations("/migrations"),
cleanDisabled = false
)
)
Expand Down Expand Up @@ -113,7 +113,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
.make[IO](
url = fly4sDb.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations"))
locations = Locations("/migrations")
)
)
.use(_.baseline),
Expand All @@ -140,7 +140,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
.make[IO](
url = fly4sDb.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations"))
locations = Locations("/migrations")
)
)
.use(_.repair),
Expand All @@ -167,7 +167,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
.make[IO](
url = fly4sDb.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations"))
locations = Locations("/migrations")
)
)
.use(_.info),
Expand Down
26 changes: 13 additions & 13 deletions core/src/test/scala/fly4s/core/Fly4sTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
.make[IO](
url = fixture.h2Settings.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations")),
locations = Locations("/migrations"),
ignoreMigrationPatterns = List(
ValidatePattern.ignorePendingMigrations
)
Expand All @@ -47,7 +47,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
.make[IO](
url = fixture.h2Settings.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations"))
locations = Locations("/migrations")
)
)
.use(_.migrate)
Expand All @@ -62,7 +62,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
.make[IO](
url = fixture.h2Settings.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations"))
locations = Locations("/migrations")
)
)
.use(_.validate)
Expand All @@ -76,7 +76,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
.make[IO](
url = fixture.h2Settings.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations")),
locations = Locations("/migrations"),
cleanDisabled = false
)
)
Expand All @@ -91,7 +91,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
.make[IO](
url = fixture.h2Settings.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations"))
locations = Locations("/migrations")
)
)
.use(_.baseline)
Expand All @@ -106,7 +106,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
.make[IO](
url = fixture.h2Settings.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations"))
locations = Locations("/migrations")
)
)
.use(_.repair)
Expand All @@ -121,7 +121,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
.make[IO](
url = fixture.h2Settings.getUrl,
config = Fly4sConfig(
locations = List(Location("/migrations"))
locations = Locations("/migrations")
)
)
.use(_.info)
Expand All @@ -136,21 +136,21 @@ class Fly4sTest extends munit.CatsEffectSuite {
user = "USER".some,
password = "PWD".toCharArray.some,
config = Fly4sConfig(
locations = List(Location("/migrations"))
locations = Locations("/migrations")
)
)
.use(
_.reconfigure(
Fly4sConfig(
locations = List(Location("/new_migrations"))
locations = Locations("/new_migrations")
)
)
)

for {
_ <- assertIO(
obtained = res.map(_.config.locations),
returns = List(Location("/new_migrations"))
returns = Locations("/new_migrations")
)
_ <- assertIO(
obtained = res.map(_.sourceConfig.url),
Expand All @@ -174,21 +174,21 @@ class Fly4sTest extends munit.CatsEffectSuite {
user = "USER".some,
password = "PWD".toCharArray.some,
config = Fly4sConfig(
locations = List(Location("/migrations"))
locations = Locations("/migrations")
)
)
.use(
_.reconfigure((current: Fly4sConfig) =>
current.copy(
locations = List(Location("/new_migrations"))
locations = Locations("/new_migrations")
)
)
)

for {
_ <- assertIO(
obtained = res.map(_.config.locations),
returns = List(Location("/new_migrations"))
returns = Locations("/new_migrations")
)
_ <- assertIO(
obtained = res.map(_.sourceConfig.url),
Expand Down
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ val fly4sRes: Resource[IO, Fly4s[IO]] = Fly4s.make[IO](
password = dbConfig.password,
config = Fly4sConfig(
table = dbConfig.migrationsTable,
locations = Location.of(dbConfig.migrationsLocations)
locations = Locations(dbConfig.migrationsLocations)
)
)
```
Expand All @@ -150,7 +150,7 @@ def migrateDb(dbConfig: DatabaseConfig): Resource[IO, MigrateResult] =
password = dbConfig.password,
config = Fly4sConfig(
table = dbConfig.migrationsTable,
locations = Location.of(dbConfig.migrationsLocations)
locations = Locations(dbConfig.migrationsLocations)
)
).evalMap(_.validateAndMigrate.result)
```
Expand Down

0 comments on commit dd8b5aa

Please sign in to comment.