Skip to content

Commit 2dde001

Browse files
authored
Flyway 10 migration for SQL Server (#738) (#747)
1 parent c282237 commit 2dde001

File tree

2 files changed

+88
-0
lines changed

2 files changed

+88
-0
lines changed

src/main/resources/META-INF/rewrite/flyway-10.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ recipeList:
2424
- org.openrewrite.java.flyway.AddFlywayModulePostgreSQL
2525
- org.openrewrite.java.flyway.AddFlywayModuleMySQL
2626
- org.openrewrite.java.flyway.AddFlywayModuleOracle
27+
- org.openrewrite.java.flyway.AddFlywayModuleSqlServer
2728
---
2829
type: specs.openrewrite.org/v1beta/recipe
2930
name: org.openrewrite.java.flyway.AddFlywayModulePostgreSQL
@@ -96,3 +97,27 @@ recipeList:
9697
groupId: org.flywaydb
9798
artifactId: flyway-database-oracle
9899
acceptTransitive: true
100+
---
101+
type: specs.openrewrite.org/v1beta/recipe
102+
name: org.openrewrite.java.flyway.AddFlywayModuleSqlServer
103+
displayName: Add missing Flyway module for SQL Server
104+
description: >-
105+
Database modules for Flyway 10 have been split out into separate modules for maintainability.
106+
Add the `flyway-sqlserver` dependency if you are using SQL Server with Flyway 10,
107+
as detailed on https://github.com/flyway/flyway/issues/3780.
108+
tags:
109+
- flyway
110+
- sqlserver
111+
preconditions:
112+
- org.openrewrite.java.dependencies.DependencyInsight:
113+
groupIdPattern: org.flywaydb
114+
artifactIdPattern: flyway-core
115+
version: "[10,)"
116+
- org.openrewrite.java.dependencies.DependencyInsight:
117+
groupIdPattern: com.microsoft.sqlserver
118+
artifactIdPattern: mssql-jdbc
119+
recipeList:
120+
- org.openrewrite.java.dependencies.AddDependency:
121+
groupId: org.flywaydb
122+
artifactId: flyway-sqlserver
123+
acceptTransitive: true

src/test/java/org/openrewrite/java/flyway/MigrateToFlyway10Test.java

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,4 +221,67 @@ void addOracleDependency() {
221221
)
222222
);
223223
}
224+
225+
@Test
226+
void addSqlServerDependency() {
227+
rewriteRun(
228+
//language=xml
229+
pomXml(
230+
"""
231+
<project>
232+
<modelVersion>4.0.0</modelVersion>
233+
<parent>
234+
<groupId>org.springframework.boot</groupId>
235+
<artifactId>spring-boot-starter-parent</artifactId>
236+
<version>3.3.12</version>
237+
<relativePath/>
238+
</parent>
239+
<groupId>com.example</groupId>
240+
<artifactId>demo</artifactId>
241+
<version>0.0.1-SNAPSHOT</version>
242+
<dependencies>
243+
<dependency>
244+
<groupId>org.flywaydb</groupId>
245+
<artifactId>flyway-core</artifactId>
246+
</dependency>
247+
<dependency>
248+
<groupId>com.microsoft.sqlserver</groupId>
249+
<artifactId>mssql-jdbc</artifactId>
250+
<scope>runtime</scope>
251+
</dependency>
252+
</dependencies>
253+
</project>
254+
""",
255+
"""
256+
<project>
257+
<modelVersion>4.0.0</modelVersion>
258+
<parent>
259+
<groupId>org.springframework.boot</groupId>
260+
<artifactId>spring-boot-starter-parent</artifactId>
261+
<version>3.3.12</version>
262+
<relativePath/>
263+
</parent>
264+
<groupId>com.example</groupId>
265+
<artifactId>demo</artifactId>
266+
<version>0.0.1-SNAPSHOT</version>
267+
<dependencies>
268+
<dependency>
269+
<groupId>org.flywaydb</groupId>
270+
<artifactId>flyway-core</artifactId>
271+
</dependency>
272+
<dependency>
273+
<groupId>org.flywaydb</groupId>
274+
<artifactId>flyway-sqlserver</artifactId>
275+
</dependency>
276+
<dependency>
277+
<groupId>com.microsoft.sqlserver</groupId>
278+
<artifactId>mssql-jdbc</artifactId>
279+
<scope>runtime</scope>
280+
</dependency>
281+
</dependencies>
282+
</project>
283+
"""
284+
)
285+
);
286+
}
224287
}

0 commit comments

Comments
 (0)