Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/test-data/AssessmentSectionProvider/project.rtd =================================================================== diff -u -r4abfa78a7646ed9974c1765f39da457eb3bfd283 -r6066f9fdd08ce787fbc222b3cdfabf2beee80eba Binary files differ Index: Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql =================================================================== diff -u -rc400ade442eb0afee140860581d96acde0b25a56 -r6066f9fdd08ce787fbc222b3cdfabf2beee80eba --- Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql (.../Migration_18.1_19.1.sql) (revision c400ade442eb0afee140860581d96acde0b25a56) +++ Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql (.../Migration_18.1_19.1.sql) (revision 6066f9fdd08ce787fbc222b3cdfabf2beee80eba) @@ -7,7 +7,47 @@ ATTACH DATABASE "{0}" AS SOURCEPROJECT; -INSERT INTO AssessmentSectionEntity SELECT * FROM [SOURCEPROJECT].AssessmentSectionEntity; +INSERT INTO AssessmentSectionEntity ( + [AssessmentSectionEntityId], + [ProjectEntityId], + [HydraulicLocationCalculationCollectionEntity1Id], + [HydraulicLocationCalculationCollectionEntity2Id], + [HydraulicLocationCalculationCollectionEntity3Id], + [HydraulicLocationCalculationCollectionEntity4Id], + [HydraulicLocationCalculationCollectionEntity5Id], + [HydraulicLocationCalculationCollectionEntity6Id], + [HydraulicLocationCalculationCollectionEntity7Id], + [HydraulicLocationCalculationCollectionEntity8Id], + [Id], + [Name], + [Comments], + [LowerLimitNorm], + [SignalingNorm], + [NormativeNormType], + [Composition], + [ReferenceLinePointXml], + [Order]) +SELECT + [AssessmentSectionEntityId], + [ProjectEntityId], + [HydraulicLocationCalculationCollectionEntity1Id], + [HydraulicLocationCalculationCollectionEntity2Id], + [HydraulicLocationCalculationCollectionEntity3Id], + [HydraulicLocationCalculationCollectionEntity4Id], + [HydraulicLocationCalculationCollectionEntity5Id], + [HydraulicLocationCalculationCollectionEntity6Id], + [HydraulicLocationCalculationCollectionEntity7Id], + [HydraulicLocationCalculationCollectionEntity8Id], + [Id], + [Name], + [Comments], + [LowerLimitNorm], + [SignalingNorm], + [NormativeNormType], + [Composition], + [ReferenceLinePointXml], + [Order] +FROM SOURCEPROJECT.AssessmentSectionEntity; INSERT INTO BackgroundDataEntity ( [BackgroundDataEntityId], [AssessmentSectionEntityId], @@ -179,6 +219,42 @@ INSERT INTO WaveImpactAsphaltCoverWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsCalculationEntity; INSERT INTO WaveImpactAsphaltCoverWaveConditionsOutputEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsOutputEntity; +/* +Insert new data +*/ + +-- Directory retrieval was taken from https://stackoverflow.com/questions/21388820/how-to-get-the-last-index-of-a-substring-in-sqlite +INSERT INTO HydraulicBoundaryDatabaseEntity ( + [AssessmentSectionEntityId], + [HydraulicBoundaryDatabaseVersion], + [HydraulicBoundaryDatabaseFilePath], + [HydraulicLocationConfigurationSettingsFilePath], + [HydraulicLocationConfigurationSettingsScenarioName], + [HydraulicLocationConfigurationSettingsYear], + [HydraulicLocationConfigurationSettingsScope], + [HydraulicLocationConfigurationSettingsSeaLevel], + [HydraulicLocationConfigurationSettingsRiverDischarge], + [HydraulicLocationConfigurationSettingsLakeLevel], + [HydraulicLocationConfigurationSettingsWindDirection], + [HydraulicLocationConfigurationSettingsWindSpeed], + [HydraulicLocationConfigurationSettingsComment]) +SELECT + [AssessmentSectionEntityId], + [HydraulicDatabaseVersion], + [HydraulicDatabaseLocation], + rtrim([HydraulicDatabaseLocation], replace([HydraulicDatabaseLocation], '\', '')) || 'hlcd.sqlite', + "", + 0, + "", + "", + "", + "", + "", + "", + "" +FROM SOURCEPROJECT.AssessmentSectionEntity +WHERE [HydraulicDatabaseLocation] IS NOT NULL; + /* Write migration logging */ Index: Ringtoets/Migration/test/Ringtoets.Migration.Core.Test/test-data/MigrationTestProject181.rtd =================================================================== diff -u -rc400ade442eb0afee140860581d96acde0b25a56 -r6066f9fdd08ce787fbc222b3cdfabf2beee80eba Binary files differ Index: Ringtoets/Migration/test/Ringtoets.Migration.Core.Test/test-data/MigrationTestProject191.rtd =================================================================== diff -u -r8f73b0c9457595a596365e743bdebe7861b2771e -r6066f9fdd08ce787fbc222b3cdfabf2beee80eba Binary files differ Index: Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo191IntegrationTest.cs =================================================================== diff -u -rc400ade442eb0afee140860581d96acde0b25a56 -r6066f9fdd08ce787fbc222b3cdfabf2beee80eba --- Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo191IntegrationTest.cs (.../MigrationTo191IntegrationTest.cs) (revision c400ade442eb0afee140860581d96acde0b25a56) +++ Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo191IntegrationTest.cs (.../MigrationTo191IntegrationTest.cs) (revision 6066f9fdd08ce787fbc222b3cdfabf2beee80eba) @@ -60,6 +60,7 @@ AssertVersions(reader); AssertDatabase(reader); + AssertAssessmentSection(reader,sourceFilePath); AssertBackgroundData(reader, sourceFilePath); AssertPipingSoilLayers(reader); @@ -69,6 +70,59 @@ } } + private static void AssertAssessmentSection(MigratedDatabaseReader reader, string sourceFilePath) + { + string validateAssessmentSection = + $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " + + "SELECT COUNT() = (SELECT COUNT() FROM SOURCEPROJECT.AssessmentSectionEntity) " + + "FROM AssessmentSectionEntity NEW " + + "JOIN SOURCEPROJECT.AssessmentSectionEntity OLD USING(AssessmentSectionEntityId) " + + "WHERE NEW.[ProjectEntityId] = OLD.[ProjectEntityId] " + + "AND NEW.[HydraulicLocationCalculationCollectionEntity1Id] = OLD.[HydraulicLocationCalculationCollectionEntity1Id] " + + "AND NEW.[HydraulicLocationCalculationCollectionEntity2Id] = OLD.[HydraulicLocationCalculationCollectionEntity2Id] " + + "AND NEW.[HydraulicLocationCalculationCollectionEntity3Id] = OLD.[HydraulicLocationCalculationCollectionEntity3Id] " + + "AND NEW.[HydraulicLocationCalculationCollectionEntity4Id] = OLD.[HydraulicLocationCalculationCollectionEntity4Id] " + + "AND NEW.[HydraulicLocationCalculationCollectionEntity5Id] = OLD.[HydraulicLocationCalculationCollectionEntity5Id] " + + "AND NEW.[HydraulicLocationCalculationCollectionEntity6Id] = OLD.[HydraulicLocationCalculationCollectionEntity6Id] " + + "AND NEW.[HydraulicLocationCalculationCollectionEntity7Id] = OLD.[HydraulicLocationCalculationCollectionEntity7Id] " + + "AND NEW.[HydraulicLocationCalculationCollectionEntity8Id] = OLD.[HydraulicLocationCalculationCollectionEntity8Id] " + + "AND NEW.[Id] IS OLD.[Id] " + + "AND NEW.[Name] IS OLD.[Name] " + + "AND NEW.[Comments] IS OLD.[Comments] " + + "AND NEW.[LowerLimitNorm] = OLD.[LowerLimitNorm] " + + "AND NEW.[SignalingNorm] = OLD.[SignalingNorm] " + + "AND NEW.[NormativeNormType] = OLD.[NormativeNormType] " + + "AND NEW.[Composition] = OLD.[Composition] " + + "AND NEW.[ReferenceLinePointXml] IS OLD.[ReferenceLinePointXml] " + + "AND NEW.\"Order\" = OLD.\"Order\"; " + + "DETACH SOURCEPROJECT;"; + reader.AssertReturnedDataIsValid(validateAssessmentSection); + + string validateHydraulicDatabase = + $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " + + "SELECT COUNT() = " + + "( " + + "SELECT COUNT() " + + "FROM SOURCEPROJECT.AssessmentSectionEntity " + + "WHERE HydraulicDatabaseLocation IS NOT NULL " + + ") " + + "FROM HydraulicBoundaryDatabaseEntity NEW " + + "JOIN SOURCEPROJECT.AssessmentSectionEntity OLD USING(AssessmentSectionEntityId) " + + "WHERE NEW.[HydraulicBoundaryDatabaseVersion] = OLD.[HydraulicDatabaseVersion] " + + "AND NEW.[HydraulicBoundaryDatabaseFilePath] = OLD.[HydraulicDatabaseLocation] " + + "AND NEW.[HydraulicLocationConfigurationSettingsFilePath] = rtrim(OLD.[HydraulicDatabaseLocation], replace(OLD.[HydraulicDatabaseLocation], '\\', '')) || 'hlcd.sqlite' " + + "AND NEW.[HydraulicLocationConfigurationSettingsScenarioName] = \"\" " + + "AND NEW.[HydraulicLocationConfigurationSettingsYear] = 0 " + + "AND NEW.[HydraulicLocationConfigurationSettingsSeaLevel] IS \"\" " + + "AND NEW.[HydraulicLocationConfigurationSettingsRiverDischarge] IS \"\" " + + "AND NEW.[HydraulicLocationConfigurationSettingsLakeLevel] IS \"\" " + + "AND NEW.[HydraulicLocationConfigurationSettingsWindDirection] IS \"\" " + + "AND NEW.[HydraulicLocationConfigurationSettingsWindSpeed] IS \"\" " + + "AND NEW.[HydraulicLocationConfigurationSettingsComment] IS \"\"; " + + "DETACH SOURCEPROJECT;"; + reader.AssertReturnedDataIsValid(validateHydraulicDatabase); + } + private static void AssertBackgroundData(MigratedDatabaseReader reader, string sourceFilePath) { string validateTransparency =