Skip to content

Commit 5a673e8

Browse files
authored
Drop support for unsupported DB versions and add tests for new versions #42 (#80)
1 parent 01e0c58 commit 5a673e8

File tree

6 files changed

+33
-32
lines changed

6 files changed

+33
-32
lines changed

.github/workflows/integration-tests.yml

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
jobs:
99
microsoft_sql:
1010
if: github.event.pull_request.draft == false
11-
runs-on: ubuntu-20.04
11+
runs-on: ubuntu-latest
1212
env:
1313
RunDockerTests: true
1414
steps:
@@ -31,12 +31,14 @@ jobs:
3131
docker pull mcr.microsoft.com/mssql/server:2017-latest
3232
docker pull mcr.microsoft.com/mssql/server:2019-latest
3333
docker pull mcr.microsoft.com/mssql/server:2022-latest
34+
docker pull mcr.microsoft.com/mssql/server:2025-latest
3435
- name: docker start containers
3536
shell: bash
3637
run: |
3738
docker run --rm --name mssql-linux-2017 -p 28001:1433 -e ACCEPT_EULA=Y -e SA_PASSWORD=Test1234! -d mcr.microsoft.com/mssql/server:2017-latest
3839
docker run --rm --name mssql-linux-2019 -p 28002:1433 -e ACCEPT_EULA=Y -e SA_PASSWORD=Test1234! -d mcr.microsoft.com/mssql/server:2019-latest
3940
docker run --rm --name mssql-linux-2022 -p 28003:1433 -e ACCEPT_EULA=Y -e SA_PASSWORD=Test1234! -d mcr.microsoft.com/mssql/server:2022-latest
41+
docker run --rm --name mssql-linux-2025 -p 28004:1433 -e ACCEPT_EULA=Y -e SA_PASSWORD=Test1234! -d mcr.microsoft.com/mssql/server:2025-latest
4042
sleep 60s
4143
- name: Test
4244
run: dotnet test SQLSchemaCompare.Test --no-build --configuration Release --logger trx --filter "Category=IntegrationTest&Category=MicrosoftSQL"
@@ -70,16 +72,14 @@ jobs:
7072
shell: bash
7173
run: |
7274
docker pull mysql:8.0
73-
docker pull mysql:8.2
74-
docker pull mysql:8.3
7575
docker pull mysql:8.4
76+
docker pull mysql:9.4
7677
- name: docker start containers
7778
shell: bash
7879
run: |
7980
docker run --rm --name mysql-8.0 -p 27004:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mysql:8.0
80-
docker run --rm --name mysql-8.2 -p 27006:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mysql:8.2
81-
docker run --rm --name mysql-8.3 -p 27007:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mysql:8.3
8281
docker run --rm --name mysql-8.4 -p 27008:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mysql:8.4
82+
docker run --rm --name mysql-9.4 -p 27013:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mysql:9.4
8383
sleep 60s
8484
- name: Test
8585
run: dotnet test SQLSchemaCompare.Test --no-build --configuration Release --logger trx --filter "Category=IntegrationTest&Category=MySQL"
@@ -112,19 +112,19 @@ jobs:
112112
- name: docker pull images
113113
shell: bash
114114
run: |
115-
docker pull postgres:12-alpine
116115
docker pull postgres:13-alpine
117116
docker pull postgres:14-alpine
118117
docker pull postgres:15-alpine
119118
docker pull postgres:16-alpine
119+
docker pull postgres:17-alpine
120120
- name: docker start containers
121121
shell: bash
122122
run: |
123-
docker run --rm --name postgres-12 -p 26007:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:12-alpine
124123
docker run --rm --name postgres-13 -p 26008:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:13-alpine
125124
docker run --rm --name postgres-14 -p 26009:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:14-alpine
126125
docker run --rm --name postgres-15 -p 26010:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:15-alpine
127126
docker run --rm --name postgres-16 -p 26011:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:16-alpine
127+
docker run --rm --name postgres-17 -p 26012:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:17-alpine
128128
sleep 60s
129129
- name: Test
130130
run: dotnet test SQLSchemaCompare.Test --no-build --configuration Release --logger trx --filter "Category=IntegrationTest&Category=PostgreSQL"
@@ -157,27 +157,17 @@ jobs:
157157
- name: docker pull images
158158
shell: bash
159159
run: |
160-
docker pull mariadb:10.4
161-
docker pull mariadb:10.5
162160
docker pull mariadb:10.6
163161
docker pull mariadb:10.11
164-
docker pull mariadb:11.0
165-
docker pull mariadb:11.1
166-
docker pull mariadb:11.2
167-
docker pull mariadb:11.3
168162
docker pull mariadb:11.4
163+
docker pull mariadb:11.8
169164
- name: docker start containers
170165
shell: bash
171166
run: |
172-
docker run --rm --name mariadb-10.4 -p 29006:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:10.4
173-
docker run --rm --name mariadb-10.5 -p 29007:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:10.5
174167
docker run --rm --name mariadb-10.6 -p 29008:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:10.6
175168
docker run --rm --name mariadb-10.11 -p 29013:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:10.11
176-
docker run --rm --name mariadb-11.0 -p 29014:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.0
177-
docker run --rm --name mariadb-11.1 -p 29015:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.1
178-
docker run --rm --name mariadb-11.2 -p 29016:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.2
179-
docker run --rm --name mariadb-11.3 -p 29017:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.3
180169
docker run --rm --name mariadb-11.4 -p 29018:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.4
170+
docker run --rm --name mariadb-11.8 -p 29022:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.8
181171
sleep 60s
182172
- name: Test
183173
run: dotnet test SQLSchemaCompare.Test --no-build --configuration Release --logger trx --filter "Category=IntegrationTest&Category=MariaDB"

SQLSchemaCompare.Test/DatabaseFixtureMariaDb.cs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,23 @@ public static IEnumerable<object[]> ServerPorts
2222
/*serverPorts.Add(new object[] { (ushort)29003 });*/ // Version 10.1 (EOL October 2020)
2323
/*serverPorts.Add(new object[] { (ushort)29004 });*/ // Version 10.2 (EOL May 2022)
2424
/*serverPorts.Add(new object[] { (ushort)29005 });*/ // Version 10.3 (EOL May 2023)
25-
serverPorts.Add(new object[] { (ushort)29006 }); // Version 10.4 (EOL June 2024)
26-
serverPorts.Add(new object[] { (ushort)29007 }); // Version 10.5 (EOL June 2025)
25+
/*serverPorts.Add(new object[] { (ushort)29006 }); // Version 10.4 (EOL June 2024)*/
26+
/*serverPorts.Add(new object[] { (ushort)29007 }); // Version 10.5 (EOL June 2025)*/
2727
serverPorts.Add(new object[] { (ushort)29008 }); // Version 10.6 (EOL July 2026)
2828
/*serverPorts.Add(new object[] { (ushort)29009 });*/ // Version 10.7 (EOL February 2023)
2929
/*serverPorts.Add(new object[] { (ushort)29010 });*/ // Version 10.8 (EOL May 2023)
3030
/*serverPorts.Add(new object[] { (ushort)29011 });*/ // Version 10.9 (EOL August 2023)
3131
/*serverPorts.Add(new object[] { (ushort)29012 });*/ // Version 10.10 (EOL November 2023)
3232
serverPorts.Add(new object[] { (ushort)29013 }); // Version 10.11 (EOL February 2028)
33-
serverPorts.Add(new object[] { (ushort)29014 }); // Version 11.0 (EOL June 2024)
34-
serverPorts.Add(new object[] { (ushort)29015 }); // Version 11.1 (EOL August 2024)
35-
serverPorts.Add(new object[] { (ushort)29016 }); // Version 11.2 (EOL November 2024)
36-
serverPorts.Add(new object[] { (ushort)29017 }); // Version 11.3
33+
/*serverPorts.Add(new object[] { (ushort)29014 }); // Version 11.0 (EOL June 2024)*/
34+
/*serverPorts.Add(new object[] { (ushort)29015 }); // Version 11.1 (EOL August 2024)*/
35+
/*serverPorts.Add(new object[] { (ushort)29016 }); // Version 11.2 (EOL November 2024)*/
36+
/*serverPorts.Add(new object[] { (ushort)29017 }); // Version 11.3 (EOL May 2024)*/
3737
serverPorts.Add(new object[] { (ushort)29018 }); // Version 11.4 (EOL May 2029)
38+
/*serverPorts.Add(new object[] { (ushort)29019 }); // Version 11.5 (EOL November 2024)*/
39+
/*serverPorts.Add(new object[] { (ushort)29020 }); // Version 11.6 (EOL February 2025)*/
40+
/*serverPorts.Add(new object[] { (ushort)29021 }); // Version 11.7 (EOL May 2025)*/
41+
serverPorts.Add(new object[] { (ushort)29022 }); // Version 11.8 (EOL October 2033)
3842
}
3943
else
4044
{

SQLSchemaCompare.Test/DatabaseFixtureMicrosoftSql.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ public static IEnumerable<object[]> ServerPorts
1616

1717
if (Environment.GetEnvironmentVariable("RunDockerTests")?.ToUpperInvariant() == "TRUE" || DatabaseFixture.ForceDockerTests)
1818
{
19-
serverPorts.Add(new object[] { (ushort)28001 }); // Version 2017 Linux
20-
serverPorts.Add(new object[] { (ushort)28002 }); // Version 2019 Linux
21-
serverPorts.Add(new object[] { (ushort)28003 }); // Version 2022 Linux
19+
serverPorts.Add(new object[] { (ushort)28001 }); // Version 2017 Linux (EOL October 2027)
20+
serverPorts.Add(new object[] { (ushort)28002 }); // Version 2019 Linux (EOL January 2030)
21+
serverPorts.Add(new object[] { (ushort)28003 }); // Version 2022 Linux (EOL January 2033)
22+
serverPorts.Add(new object[] { (ushort)28004 }); // Version 2025 Linux
2223
}
2324
else
2425
{

SQLSchemaCompare.Test/DatabaseFixtureMySql.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,14 @@ public static IEnumerable<object[]> ServerPorts
2222
/*serverPorts.Add(new object[] { (ushort)27003 });*/ // Version 5.7 (EOL October 2023)
2323
serverPorts.Add(new object[] { (ushort)27004 }); // Version 8.0 (EOL April 2026)
2424
/*serverPorts.Add(new object[] { (ushort)27005 });*/ // Version 8.1 (EOL October 2023)
25-
serverPorts.Add(new object[] { (ushort)27006 }); // Version 8.2
26-
serverPorts.Add(new object[] { (ushort)27007 }); // Version 8.3
25+
/*serverPorts.Add(new object[] { (ushort)27006 }); // Version 8.2 (EOL December 2023)*/
26+
/*serverPorts.Add(new object[] { (ushort)27007 }); // Version 8.3 (EOL April 2024)*/
2727
serverPorts.Add(new object[] { (ushort)27008 }); // Version 8.4 (EOL April 2032)
28+
/*serverPorts.Add(new object[] { (ushort)27009 }); // Version 9.0 (EOL October 2024)*/
29+
/*serverPorts.Add(new object[] { (ushort)27010 }); // Version 9.1 (EOL January 2025)*/
30+
/*serverPorts.Add(new object[] { (ushort)27011 }); // Version 9.2 (EOL April 2025)*/
31+
/*serverPorts.Add(new object[] { (ushort)27012 }); // Version 9.3 (EOL July 2025)*/
32+
serverPorts.Add(new object[] { (ushort)27013 }); // Version 9.4
2833
}
2934
else
3035
{

SQLSchemaCompare.Test/DatabaseFixturePostgreSql.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,12 @@ public static IEnumerable<object[]> ServerPorts
2323
/*serverPorts.Add(new object[] { (ushort)26004 });*/ // Version 9.6 (EOL November 2021)
2424
/*serverPorts.Add(new object[] { (ushort)26005 });*/ // Version 10 (EOL November 2022)
2525
/*serverPorts.Add(new object[] { (ushort)26006 });*/ // Version 11 (EOL November 2023)
26-
serverPorts.Add(new object[] { (ushort)26007 }); // Version 12 (EOL November 2024)
26+
/*serverPorts.Add(new object[] { (ushort)26007 }); // Version 12 (EOL November 2024)*/
2727
serverPorts.Add(new object[] { (ushort)26008 }); // Version 13 (EOL November 2025)
2828
serverPorts.Add(new object[] { (ushort)26009 }); // Version 14 (EOL November 2026)
2929
serverPorts.Add(new object[] { (ushort)26010 }); // Version 15 (EOL November 2027)
3030
serverPorts.Add(new object[] { (ushort)26011 }); // Version 16 (EOL November 2028)
31+
serverPorts.Add(new object[] { (ushort)26012 }); // Version 17 (EOL November 2029)
3132
}
3233
else
3334
{

SQLSchemaCompare.Test/Integration/MicrosoftSqlTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public void GetMicrosoftSqlSakilaDatabase(ushort port)
136136
db.StoredProcedures.Count.Should().Be(2);
137137

138138
db.DataTypes.Should().NotBeNullOrEmpty();
139-
db.DataTypes.Count.Should().Be(37);
139+
db.DataTypes.Count(x => x.IsUserDefined).Should().Be(3);
140140

141141
if (db.ServerVersion.Major < 11)
142142
{

0 commit comments

Comments
 (0)