Skip to content

Commit dd8b5aa

Browse files
committed
Add Locations
1 parent 8f55c2f commit dd8b5aa

File tree

7 files changed

+33
-27
lines changed

7 files changed

+33
-27
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ val fly4sRes: Resource[IO, Fly4s[IO]] = Fly4s.make[IO](
132132
password = dbConfig.password,
133133
config = Fly4sConfig(
134134
table = dbConfig.migrationsTable,
135-
locations = Location.of(dbConfig.migrationsLocations)
135+
locations = Locations(dbConfig.migrationsLocations)
136136
)
137137
)
138138
// fly4sRes: Resource[IO, Fly4s[IO]] = Allocate(
@@ -160,7 +160,7 @@ def migrateDb(dbConfig: DatabaseConfig): Resource[IO, MigrateResult] =
160160
password = dbConfig.password,
161161
config = Fly4sConfig(
162162
table = dbConfig.migrationsTable,
163-
locations = Location.of(dbConfig.migrationsLocations)
163+
locations = Locations(dbConfig.migrationsLocations)
164164
)
165165
).evalMap(_.validateAndMigrate.result)
166166
```

core/example/simple.sc

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import cats.effect.IO
22
import fly4s.core.Fly4s
3-
import fly4s.core.data.{Fly4sConfig, Location, ValidatedMigrateResult}
3+
import fly4s.core.data.{Fly4sConfig, Locations, ValidatedMigrateResult}
44

55
case class DbConfig(
66
name: String,
@@ -21,7 +21,7 @@ val res: IO[ValidatedMigrateResult] = Fly4s
2121
password = dbConfig.password,
2222
config = Fly4sConfig(
2323
table = dbConfig.migrationsTable,
24-
locations = Location.of(dbConfig.migrationsLocations)
24+
locations = Locations(dbConfig.migrationsLocations)
2525
)
2626
)
27-
.use(_.validateAndMigrate[IO])
27+
.use(_.validateAndMigrate)

core/src/main/scala/fly4s/core/data/Fly4sConfigBuilder.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ private[fly4s] object Fly4sConfigDefaults {
6666

6767
// --- migrations ---
6868
val defaultInstalledBy: Option[String] = None
69-
val defaultLocations: List[Location] = List(Location("db/migration"))
69+
val defaultLocations: List[Location] = Locations("db/migration")
7070
val defaultEncoding: Charset = StandardCharsets.UTF_8
7171
val defaultTable: String = "flyway_schema_history"
7272
val defaultTablespace: Option[String] = None

core/src/main/scala/fly4s/core/data/Location.scala

+6
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,9 @@ package fly4s.core.data
33
object Location {
44
def apply(value: String): Location = new Location(value)
55
}
6+
7+
object Locations {
8+
def apply(values: String*): List[Location] = Locations(values)
9+
def apply(values: Seq[String])(implicit dummyImplicit: DummyImplicit): List[Location] =
10+
values.map(Location(_)).toList
11+
}

core/src/test/scala/fly4s/core/Fly4sPerformanceSuite.scala

+6-6
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
2424
.make[IO](
2525
url = fly4sDb.getUrl,
2626
config = Fly4sConfig(
27-
locations = List(Location("/migrations"))
27+
locations = Locations("/migrations")
2828
)
2929
)
3030
.use(_.migrate),
@@ -51,7 +51,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
5151
.make[IO](
5252
url = fly4sDb.getUrl,
5353
config = Fly4sConfig(
54-
locations = List(Location("/migrations")),
54+
locations = Locations("/migrations"),
5555
ignoreMigrationPatterns = List(
5656
ValidatePattern.ignorePendingMigrations
5757
)
@@ -84,7 +84,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
8484
.make[IO](
8585
url = fly4sDb.getUrl,
8686
config = Fly4sConfig(
87-
locations = List(Location("/migrations")),
87+
locations = Locations("/migrations"),
8888
cleanDisabled = false
8989
)
9090
)
@@ -113,7 +113,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
113113
.make[IO](
114114
url = fly4sDb.getUrl,
115115
config = Fly4sConfig(
116-
locations = List(Location("/migrations"))
116+
locations = Locations("/migrations")
117117
)
118118
)
119119
.use(_.baseline),
@@ -140,7 +140,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
140140
.make[IO](
141141
url = fly4sDb.getUrl,
142142
config = Fly4sConfig(
143-
locations = List(Location("/migrations"))
143+
locations = Locations("/migrations")
144144
)
145145
)
146146
.use(_.repair),
@@ -167,7 +167,7 @@ class Fly4sPerformanceSuite extends munit.CatsEffectSuite {
167167
.make[IO](
168168
url = fly4sDb.getUrl,
169169
config = Fly4sConfig(
170-
locations = List(Location("/migrations"))
170+
locations = Locations("/migrations")
171171
)
172172
)
173173
.use(_.info),

core/src/test/scala/fly4s/core/Fly4sTest.scala

+13-13
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
2929
.make[IO](
3030
url = fixture.h2Settings.getUrl,
3131
config = Fly4sConfig(
32-
locations = List(Location("/migrations")),
32+
locations = Locations("/migrations"),
3333
ignoreMigrationPatterns = List(
3434
ValidatePattern.ignorePendingMigrations
3535
)
@@ -47,7 +47,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
4747
.make[IO](
4848
url = fixture.h2Settings.getUrl,
4949
config = Fly4sConfig(
50-
locations = List(Location("/migrations"))
50+
locations = Locations("/migrations")
5151
)
5252
)
5353
.use(_.migrate)
@@ -62,7 +62,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
6262
.make[IO](
6363
url = fixture.h2Settings.getUrl,
6464
config = Fly4sConfig(
65-
locations = List(Location("/migrations"))
65+
locations = Locations("/migrations")
6666
)
6767
)
6868
.use(_.validate)
@@ -76,7 +76,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
7676
.make[IO](
7777
url = fixture.h2Settings.getUrl,
7878
config = Fly4sConfig(
79-
locations = List(Location("/migrations")),
79+
locations = Locations("/migrations"),
8080
cleanDisabled = false
8181
)
8282
)
@@ -91,7 +91,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
9191
.make[IO](
9292
url = fixture.h2Settings.getUrl,
9393
config = Fly4sConfig(
94-
locations = List(Location("/migrations"))
94+
locations = Locations("/migrations")
9595
)
9696
)
9797
.use(_.baseline)
@@ -106,7 +106,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
106106
.make[IO](
107107
url = fixture.h2Settings.getUrl,
108108
config = Fly4sConfig(
109-
locations = List(Location("/migrations"))
109+
locations = Locations("/migrations")
110110
)
111111
)
112112
.use(_.repair)
@@ -121,7 +121,7 @@ class Fly4sTest extends munit.CatsEffectSuite {
121121
.make[IO](
122122
url = fixture.h2Settings.getUrl,
123123
config = Fly4sConfig(
124-
locations = List(Location("/migrations"))
124+
locations = Locations("/migrations")
125125
)
126126
)
127127
.use(_.info)
@@ -136,21 +136,21 @@ class Fly4sTest extends munit.CatsEffectSuite {
136136
user = "USER".some,
137137
password = "PWD".toCharArray.some,
138138
config = Fly4sConfig(
139-
locations = List(Location("/migrations"))
139+
locations = Locations("/migrations")
140140
)
141141
)
142142
.use(
143143
_.reconfigure(
144144
Fly4sConfig(
145-
locations = List(Location("/new_migrations"))
145+
locations = Locations("/new_migrations")
146146
)
147147
)
148148
)
149149

150150
for {
151151
_ <- assertIO(
152152
obtained = res.map(_.config.locations),
153-
returns = List(Location("/new_migrations"))
153+
returns = Locations("/new_migrations")
154154
)
155155
_ <- assertIO(
156156
obtained = res.map(_.sourceConfig.url),
@@ -174,21 +174,21 @@ class Fly4sTest extends munit.CatsEffectSuite {
174174
user = "USER".some,
175175
password = "PWD".toCharArray.some,
176176
config = Fly4sConfig(
177-
locations = List(Location("/migrations"))
177+
locations = Locations("/migrations")
178178
)
179179
)
180180
.use(
181181
_.reconfigure((current: Fly4sConfig) =>
182182
current.copy(
183-
locations = List(Location("/new_migrations"))
183+
locations = Locations("/new_migrations")
184184
)
185185
)
186186
)
187187

188188
for {
189189
_ <- assertIO(
190190
obtained = res.map(_.config.locations),
191-
returns = List(Location("/new_migrations"))
191+
returns = Locations("/new_migrations")
192192
)
193193
_ <- assertIO(
194194
obtained = res.map(_.sourceConfig.url),

docs/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ val fly4sRes: Resource[IO, Fly4s[IO]] = Fly4s.make[IO](
125125
password = dbConfig.password,
126126
config = Fly4sConfig(
127127
table = dbConfig.migrationsTable,
128-
locations = Location.of(dbConfig.migrationsLocations)
128+
locations = Locations(dbConfig.migrationsLocations)
129129
)
130130
)
131131
```
@@ -150,7 +150,7 @@ def migrateDb(dbConfig: DatabaseConfig): Resource[IO, MigrateResult] =
150150
password = dbConfig.password,
151151
config = Fly4sConfig(
152152
table = dbConfig.migrationsTable,
153-
locations = Location.of(dbConfig.migrationsLocations)
153+
locations = Locations(dbConfig.migrationsLocations)
154154
)
155155
).evalMap(_.validateAndMigrate.result)
156156
```

0 commit comments

Comments
 (0)