Index: Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql =================================================================== diff -u -r0c79f2a6a185349cd09a33563a7381c0ac825ad3 -rc400ade442eb0afee140860581d96acde0b25a56 --- Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql (.../Migration_18.1_19.1.sql) (revision 0c79f2a6a185349cd09a33563a7381c0ac825ad3) +++ Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql (.../Migration_18.1_19.1.sql) (revision c400ade442eb0afee140860581d96acde0b25a56) @@ -94,7 +94,52 @@ INSERT INTO PipingCharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].PipingCharacteristicPointEntity; INSERT INTO PipingFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].PipingFailureMechanismMetaEntity; INSERT INTO PipingSectionResultEntity SELECT * FROM [SOURCEPROJECT].PipingSectionResultEntity; -INSERT INTO PipingSoilLayerEntity SELECT * FROM [SOURCEPROJECT].PipingSoilLayerEntity; +INSERT INTO PipingSoilLayerEntity( + [PipingSoilLayerEntityId], + [PipingSoilProfileEntityId], + [Top], + [IsAquifer], + [Color], + [MaterialName], + [BelowPhreaticLevelMean] , + [BelowPhreaticLevelDeviation], + [BelowPhreaticLevelShift], + [DiameterD70Mean], + [DiameterD70CoefficientOfVariation], + [PermeabilityMean], + [PermeabilityCoefficientOfVariation], + [Order]) +SELECT + [PipingSoilLayerEntityId], + [PipingSoilProfileEntityId], + [Top], + [IsAquifer], + [Color], + [MaterialName], + CASE + WHEN [BelowPhreaticLevelMean] < 0.005 + THEN NULL + ELSE + [BelowPhreaticLevelMean] + END, + [BelowPhreaticLevelDeviation], + [BelowPhreaticLevelShift], + CASE + WHEN [DiameterD70Mean] <= 0.0000005 + THEN NULL + ELSE + [DiameterD70Mean] + END, + [DiameterD70CoefficientOfVariation], + CASE + WHEN [PermeabilityMean] <= 0.0000005 + THEN NULL + ELSE + [PermeabilityMean] + END, + [PermeabilityCoefficientOfVariation], + [Order] +FROM [SOURCEPROJECT].PipingSoilLayerEntity; INSERT INTO PipingSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingSoilProfileEntity; INSERT INTO PipingStochasticSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingStochasticSoilProfileEntity; INSERT INTO PipingStructureFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].PipingStructureFailureMechanismMetaEntity; @@ -219,6 +264,51 @@ [msg] ); +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[BelowPhreaticLevelMean] || "' voor het gemiddelde van parameter 'Verzadigd gewicht' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[BelowPhreaticLevelMean] IS NOT psl.[BelowPhreaticLevelMean]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[DiameterD70Mean] || "' voor het gemiddelde van parameter 'd70' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[DiameterD70Mean] IS NOT psl.[DiameterD70Mean]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[PermeabilityMean] || "' voor het gemiddelde van parameter 'Doorlatendheid' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[PermeabilityMean] IS NOT psl.[PermeabilityMean]; + INSERT INTO [LOGDATABASE].MigrationLogEntity ( [FromVersion], [ToVersion], Index: Ringtoets/Migration/test/Ringtoets.Migration.Core.Test/test-data/MigrationTestProject181.rtd =================================================================== diff -u -r5ec3bc519497b68a2905a9267fd36bfed53b04eb -rc400ade442eb0afee140860581d96acde0b25a56 Binary files differ Index: Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo191IntegrationTest.cs =================================================================== diff -u -r8f73b0c9457595a596365e743bdebe7861b2771e -rc400ade442eb0afee140860581d96acde0b25a56 --- Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo191IntegrationTest.cs (.../MigrationTo191IntegrationTest.cs) (revision 8f73b0c9457595a596365e743bdebe7861b2771e) +++ Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo191IntegrationTest.cs (.../MigrationTo191IntegrationTest.cs) (revision c400ade442eb0afee140860581d96acde0b25a56) @@ -61,6 +61,8 @@ AssertDatabase(reader); AssertBackgroundData(reader, sourceFilePath); + + AssertPipingSoilLayers(reader); } AssertLogDatabase(logFilePath); @@ -220,7 +222,7 @@ { ReadOnlyCollection messages = reader.GetMigrationLogMessages(); - Assert.AreEqual(3, messages.Count); + Assert.AreEqual(8, messages.Count); var i = 0; MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("18.1", newVersion, "Gevolgen van de migratie van versie 18.1 naar versie 19.1:"), @@ -231,6 +233,22 @@ messages[i++]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("18.1", newVersion, " + De waarde voor de transparantie van de achtergrondkaart is aangepast naar 0.60."), + messages[i++]); + + MigrationLogTestHelper.AssertMigrationLogMessageEqual( + new MigrationLogMessage("18.1", newVersion, "* Traject: 'PipingSoilLayer'"), + messages[i++]); + MigrationLogTestHelper.AssertMigrationLogMessageEqual( + new MigrationLogMessage("18.1", newVersion, " + Toetsspoor: 'Piping'"), + messages[i++]); + MigrationLogTestHelper.AssertMigrationLogMessageEqual( + new MigrationLogMessage("18.1", newVersion, " - De waarde '0.0049' voor het gemiddelde van parameter 'Verzadigd gewicht' van ondergrondlaag 'BelowPhreaticLevelMean' is ongeldig en is veranderd naar NaN."), + messages[i++]); + MigrationLogTestHelper.AssertMigrationLogMessageEqual( + new MigrationLogMessage("18.1", newVersion, " - De waarde '4.9e-07' voor het gemiddelde van parameter 'Doorlatendheid' van ondergrondlaag 'PermeabilityMean' is ongeldig en is veranderd naar NaN."), + messages[i++]); + MigrationLogTestHelper.AssertMigrationLogMessageEqual( + new MigrationLogMessage("18.1", newVersion, " - De waarde '4.9e-07' voor het gemiddelde van parameter 'd70' van ondergrondlaag 'DiameterD70Mean' is ongeldig en is veranderd naar NaN."), messages[i]); } } @@ -250,5 +268,27 @@ "PRAGMA foreign_keys;"; reader.AssertReturnedDataIsValid(validateForeignKeys); } + + private static void AssertPipingSoilLayers(MigratedDatabaseReader reader) + { + const string validateBelowPhreaticLevel = + "SELECT COUNT() = 0 " + + "FROM PipingSoilLayerEntity " + + "WHERE [BelowPhreaticLevelMean] < [BelowPhreaticLevelShift] " + + "OR [BelowPhreaticLevelMean] < 0.005;"; + reader.AssertReturnedDataIsValid(validateBelowPhreaticLevel); + + const string validateDiameter70 = + "SELECT COUNT() = 0 " + + "FROM PipingSoilLayerEntity " + + "WHERE [DiameterD70Mean] < 0.0000005;"; + reader.AssertReturnedDataIsValid(validateDiameter70); + + const string validatePermeability = + "SELECT COUNT() = 0 " + + "FROM PipingSoilLayerEntity " + + "WHERE [PermeabilityMean] < 0.0000005;"; + reader.AssertReturnedDataIsValid(validatePermeability); + } } } \ No newline at end of file