Index: Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_18.1_18.2.sql =================================================================== diff -u -r5ec3bc519497b68a2905a9267fd36bfed53b04eb -r5f89553ae78a7a02b0218e427d7574ba1955fbdb --- Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_18.1_18.2.sql (.../Migration_18.1_18.2.sql) (revision 5ec3bc519497b68a2905a9267fd36bfed53b04eb) +++ Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_18.1_18.2.sql (.../Migration_18.1_18.2.sql) (revision 5f89553ae78a7a02b0218e427d7574ba1955fbdb) @@ -146,14 +146,213 @@ 'ToVersion' VARCHAR(20) NOT NULL, 'LogMessage' TEXT NOT NULL ); - + +CREATE TEMP TABLE TempFailureMechanisms +( + 'FailureMechanismType' INTEGER NOT NULL, + 'FailureMechanismName' VARCHAR(255) NOT NULL +); + +INSERT INTO TempFailureMechanisms VALUES (1, 'Piping'); +INSERT INTO TempFailureMechanisms VALUES (2, 'Macrostabiliteit binnenwaarts'); +INSERT INTO TempFailureMechanisms VALUES (3, 'Golfklappen op asfaltbekleding'); +INSERT INTO TempFailureMechanisms VALUES (4, 'Grasbekleding erosie buitentalud'); +INSERT INTO TempFailureMechanisms VALUES (5, 'Grasbekleding afschuiven buitentalud'); +INSERT INTO TempFailureMechanisms VALUES (6, 'Grasbekleding erosie kruin en binnentalud'); +INSERT INTO TempFailureMechanisms VALUES (7, 'Stabiliteit steenzetting'); +INSERT INTO TempFailureMechanisms VALUES (8, 'Duinafslag'); +INSERT INTO TempFailureMechanisms VALUES (9, 'Hoogte kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (10, 'Betrouwbaarheid sluiting kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (11, 'Piping bij kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (12, 'Sterkte en stabiliteit puntconstructies'); +INSERT INTO TempFailureMechanisms VALUES (13, 'Macrostabiliteit buitenwaarts'); +INSERT INTO TempFailureMechanisms VALUES (14, 'Microstabiliteit'); +INSERT INTO TempFailureMechanisms VALUES (15, 'Wateroverdruk bij asfaltbekleding'); +INSERT INTO TempFailureMechanisms VALUES (16, 'Grasbekleding afschuiven binnentalud'); +INSERT INTO TempFailureMechanisms VALUES (17, 'Sterkte en stabiliteit langsconstructies'); +INSERT INTO TempFailureMechanisms VALUES (18, 'Technische innovaties'); + +CREATE TEMP TABLE TempAssessmentSectionFailureMechanism +( + [AssessmentSectionId], + [AssessmentSectionName], + [FailureMechanismId], + [FailureMechanismName] +); + +INSERT INTO TempAssessmentSectionFailureMechanism +SELECT + [AssessmentSectionEntityId], + [Name], + [FailureMechanismEntityId], + [FailureMechanismName] +FROM AssessmentSectionEntity +JOIN FailureMechanismEntity USING (AssessmentSectionEntityId) +JOIN TempFailureMechanisms USING (FailureMechanismType); + +CREATE TEMP TABLE TempAssessmentSectionChanges +( + [AssessmentSectionId], + [AssessmentSectionName], + [Order], + [msg] +); + +INSERT INTO TempAssessmentSectionChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + 0, + "De waarde voor de transparantie van de achtergrondkaart is aangepast naar 0.60." +FROM AssessmentSectionEntity AS ase +JOIN BackgroundDataEntity AS bd USING(AssessmentSectionEntityId) +JOIN [SOURCEPROJECT].BackgroundDataEntity AS source USING(BackgroundDataEntityId) +JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[AssessmentSectionId] = ase.AssessmentSectionEntityId +WHERE source.[Transparency] != bd.Transparency; + +CREATE TEMP TABLE TempChanges +( + [AssessmentSectionId], + [AssessmentSectionName], + [FailureMechanismId], + [FailureMechanismName], + [msg] +); + INSERT INTO [LOGDATABASE].MigrationLogEntity ( [FromVersion], [ToVersion], [LogMessage]) VALUES ("18.1", "18.2", "Gevolgen van de migratie van versie 18.1 naar versie 18.2:"); INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +WITH RECURSIVE +FailureMechanismMessages +( + [FailureMechanismId], + [FailureMechanismName], + [AssessmentSectionId], + [AssessmentSectionName], + [msg], + [level] +) AS ( +SELECT DISTINCT + [FailureMechanismId], + [FailureMechanismName], + [AssessmentSectionId], + [AssessmentSectionName], + NULL, + 1 + FROM TempChanges + UNION +SELECT + [FailureMechanismId], + NULL, + [AssessmentSectionId], + [AssessmentSectionName], + [msg], + 2 + FROM TempChanges + WHERE TempChanges.[FailureMechanismId] IS [FailureMechanismId] + ORDER BY [FailureMechanismId], [AssessmentSectionId] +), +AssessmentSectionFailureMechanismMessages +( + [AssessmentSectionId], + [AssessmentSectionName], + [IsAssessmentSectionHeader], + [FailureMechanismId], + [FailureMechanismName], + [msg], + [level], + [Order] +) AS ( + SELECT DISTINCT + [AssessmentSectionId], + [AssessmentSectionName], + 1, + NULL, + NULL, + NULL, + 1, + 0 + FROM + ( + SELECT + [AssessmentSectionId], + [AssessmentSectionName] + FROM TempAssessmentSectionChanges + UNION + SELECT + [AssessmentSectionId], + [AssessmentSectionName] + FROM FailureMechanismMessages + WHERE [AssessmentSectionId] IS NOT NULL + ) + + UNION + + SELECT + * + FROM + ( + SELECT + [AssessmentSectionId], + [AssessmentSectionName], + 0 AS [IsAssessmentSectionHeader], + NULL AS [FailureMechanismId], + NULL, + [msg], + 1 AS [level], + [Order] + FROM TempAssessmentSectionChanges + + UNION + + SELECT + [AssessmentSectionId], + NULL, + 0 AS [IsAssessmentSectionHeader], + fmm.[FailureMechanismId] AS [FailureMechanismId], + fmm.[FailureMechanismName], + [msg], + fmm.[level] AS [level], + 1 AS [Order] + FROM FailureMechanismMessages AS fmm + WHERE fmm.[AssessmentSectionId] IS [AssessmentSectionId] + + ) ORDER BY [AssessmentSectionId], [FailureMechanismId], [level], [IsAssessmentSectionHeader] DESC, [Order] +) +SELECT + "18.1", + "18.2", + CASE + WHEN [AssessmentSectionName] IS NOT NULL + THEN + CASE WHEN [IsAssessmentSectionHeader] IS 1 + THEN "* Traject: '" || [AssessmentSectionName] || "'" + ELSE + " + " || [msg] + END + ELSE + CASE + WHEN [FailureMechanismName] IS NOT NULL + THEN " + Toetsspoor: '" || [FailureMechanismName] || "'" + ELSE + " - " || [msg] + END + END +FROM AssessmentSectionFailureMechanismMessages; + +DROP TABLE TempFailureMechanisms; +DROP TABLE TempAssessmentSectionFailureMechanism; +DROP TABLE TempAssessmentSectionChanges; +DROP TABLE TempChanges; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( [FromVersion], [ToVersion], [LogMessage]) Index: Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo182IntegrationTest.cs =================================================================== diff -u -r5ec3bc519497b68a2905a9267fd36bfed53b04eb -r5f89553ae78a7a02b0218e427d7574ba1955fbdb --- Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo182IntegrationTest.cs (.../MigrationTo182IntegrationTest.cs) (revision 5ec3bc519497b68a2905a9267fd36bfed53b04eb) +++ Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo182IntegrationTest.cs (.../MigrationTo182IntegrationTest.cs) (revision 5f89553ae78a7a02b0218e427d7574ba1955fbdb) @@ -220,13 +220,17 @@ { ReadOnlyCollection messages = reader.GetMigrationLogMessages(); - Assert.AreEqual(2, messages.Count); + Assert.AreEqual(3, messages.Count); var i = 0; MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("18.1", newVersion, "Gevolgen van de migratie van versie 18.1 naar versie 18.2:"), messages[i++]); + MigrationLogTestHelper.AssertMigrationLogMessageEqual( - new MigrationLogMessage("18.1", newVersion, "* Geen aanpassingen."), + new MigrationLogMessage("18.1", newVersion, "* Traject: 'BackgroundData-DefaultValue'"), + messages[i++]); + MigrationLogTestHelper.AssertMigrationLogMessageEqual( + new MigrationLogMessage("18.1", newVersion, $" + De waarde voor de transparantie van de achtergrondkaart is aangepast naar 0.60."), messages[i]); } } Index: Ringtoets/Migration/test/Ringtoets.Migration.Test/RingtoetsProjectMigratorTest.cs =================================================================== diff -u -r984647b7cc3bf9a0be50eb5e4a6a1b952a1e9d8b -r5f89553ae78a7a02b0218e427d7574ba1955fbdb --- Ringtoets/Migration/test/Ringtoets.Migration.Test/RingtoetsProjectMigratorTest.cs (.../RingtoetsProjectMigratorTest.cs) (revision 984647b7cc3bf9a0be50eb5e4a6a1b952a1e9d8b) +++ Ringtoets/Migration/test/Ringtoets.Migration.Test/RingtoetsProjectMigratorTest.cs (.../RingtoetsProjectMigratorTest.cs) (revision 5f89553ae78a7a02b0218e427d7574ba1955fbdb) @@ -518,7 +518,10 @@ migrationLog.AppendLine(" - Alle resultaten voor de gedetailleerde toets van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine("Gevolgen van de migratie van versie 18.1 naar versie 18.2:"); - migrationLog.AppendLine("* Geen aanpassingen."); + migrationLog.AppendLine("* Traject: 'assessmentSection'"); + migrationLog.AppendLine(" + De waarde voor de transparantie van de achtergrondkaart is aangepast naar 0.60."); + migrationLog.AppendLine("* Traject: 'Demo traject'"); + migrationLog.AppendLine(" + De waarde voor de transparantie van de achtergrondkaart is aangepast naar 0.60."); Tuple[] expectedLogMessagesAndLevel = {