Index: Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_17.3_18.1.sql
===================================================================
diff -u -r19382b3670a64bb81d862b8a423d2d4ed1736420 -re9a3ea2b12aec1bdf19ec28a3894cf6b0c0312c2
--- Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_17.3_18.1.sql (.../Migration_17.3_18.1.sql) (revision 19382b3670a64bb81d862b8a423d2d4ed1736420)
+++ Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_17.3_18.1.sql (.../Migration_17.3_18.1.sql) (revision e9a3ea2b12aec1bdf19ec28a3894cf6b0c0312c2)
@@ -78,7 +78,11 @@
[Orientation],
[BreakWaterType],
[BreakWaterHeight],
- [ForeshoreXml],
+ REPLACE(
+ REPLACE(ForeshoreXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''),
+ 'Point2DXmlSerializer.SerializablePoint2D',
+ 'SerializablePoint2D'
+ ),
REPLACE(
REPLACE(DikeGeometryXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''),
'RoughnessPointXmlSerializer.SerializableRoughnessPoint',
@@ -117,11 +121,55 @@
FROM [SOURCEPROJECT].DuneErosionSectionResultEntity;
INSERT INTO DuneLocationEntity SELECT * FROM [SOURCEPROJECT].DuneLocationEntity;
INSERT INTO FailureMechanismEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismEntity;
-INSERT INTO FailureMechanismSectionEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismSectionEntity;
+INSERT INTO FailureMechanismSectionEntity (
+ [FailureMechanismSectionEntityId],
+ [FailureMechanismEntityId],
+ [Name],
+ [FailureMechanismSectionPointXml])
+SELECT
+ [FailureMechanismSectionEntityId],
+ [FailureMechanismEntityId],
+ [Name],
+ REPLACE(
+ REPLACE(FailureMechanismSectionPointXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''),
+ 'Point2DXmlSerializer.SerializablePoint2D',
+ 'SerializablePoint2D'
+ )
+FROM [SOURCEPROJECT].FailureMechanismSectionEntity;
INSERT INTO FaultTreeIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].FaultTreeIllustrationPointEntity;
INSERT INTO FaultTreeIllustrationPointStochastEntity SELECT * FROM [SOURCEPROJECT].FaultTreeIllustrationPointStochastEntity;
INSERT INTO FaultTreeSubmechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].FaultTreeSubmechanismIllustrationPointEntity;
-INSERT INTO ForeshoreProfileEntity SELECT * FROM [SOURCEPROJECT].ForeshoreProfileEntity;
+INSERT INTO ForeshoreProfileEntity (
+ [ForeshoreProfileEntityId],
+ [FailureMechanismEntityId],
+ [Id],
+ [Name],
+ [Orientation],
+ [BreakWaterType],
+ [BreakWaterHeight],
+ [GeometryXml],
+ [X],
+ [Y],
+ [X0],
+ [Order])
+SELECT
+ [ForeshoreProfileEntityId],
+ [FailureMechanismEntityId],
+ [Id],
+ [Name],
+ [Orientation],
+ [BreakWaterType],
+ [BreakWaterHeight],
+ REPLACE(
+ REPLACE(GeometryXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''),
+ 'Point2DXmlSerializer.SerializablePoint2D',
+ 'SerializablePoint2D'
+ ),
+ [X],
+ [Y],
+ [X0],
+ [Order]
+FROM [SOURCEPROJECT].ForeshoreProfileEntity;
INSERT INTO GeneralResultFaultTreeIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].GeneralResultFaultTreeIllustrationPointEntity;
INSERT INTO GeneralResultFaultTreeIllustrationPointStochastEntity SELECT * FROM [SOURCEPROJECT].GeneralResultFaultTreeIllustrationPointStochastEntity;
INSERT INTO GeneralResultSubMechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].GeneralResultSubMechanismIllustrationPointEntity;
@@ -432,7 +480,63 @@
NULL
FROM [SOURCEPROJECT].MacroStabilityInwardsSectionResultEntity;
INSERT INTO MacroStabilityInwardsSoilLayerOneDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilLayerOneDEntity;
-INSERT INTO MacroStabilityInwardsSoilLayerTwoDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilLayerTwoDEntity;
+INSERT INTO MacroStabilityInwardsSoilLayerTwoDEntity (
+ [MacroStabilityInwardsSoilLayerTwoDEntityId],
+ [ParentMacroStabilityInwardsSoilLayerTwoDEntityId],
+ [IsAquifer],
+ [Color],
+ [MaterialName],
+ [ShearStrengthModel],
+ [UsePop],
+ [AbovePhreaticLevelMean],
+ [AbovePhreaticLevelCoefficientOfVariation],
+ [AbovePhreaticLevelShift],
+ [BelowPhreaticLevelMean],
+ [BelowPhreaticLevelCoefficientOfVariation],
+ [BelowPhreaticLevelShift],
+ [CohesionMean],
+ [CohesionCoefficientOfVariation],
+ [FrictionAngleMean],
+ [FrictionAngleCoefficientOfVariation],
+ [ShearStrengthRatioMean],
+ [ShearStrengthRatioCoefficientOfVariation],
+ [StrengthIncreaseExponentMean],
+ [StrengthIncreaseExponentCoefficientOfVariation],
+ [PopMean],
+ [PopCoefficientOfVariation],
+ [OuterRingXml],
+ [Order])
+SELECT
+ [MacroStabilityInwardsSoilLayerTwoDEntityId],
+ [ParentMacroStabilityInwardsSoilLayerTwoDEntityId],
+ [IsAquifer],
+ [Color],
+ [MaterialName],
+ [ShearStrengthModel],
+ [UsePop],
+ [AbovePhreaticLevelMean],
+ [AbovePhreaticLevelCoefficientOfVariation],
+ [AbovePhreaticLevelShift],
+ [BelowPhreaticLevelMean],
+ [BelowPhreaticLevelCoefficientOfVariation],
+ [BelowPhreaticLevelShift],
+ [CohesionMean],
+ [CohesionCoefficientOfVariation],
+ [FrictionAngleMean],
+ [FrictionAngleCoefficientOfVariation],
+ [ShearStrengthRatioMean],
+ [ShearStrengthRatioCoefficientOfVariation],
+ [StrengthIncreaseExponentMean],
+ [StrengthIncreaseExponentCoefficientOfVariation],
+ [PopMean],
+ [PopCoefficientOfVariation],
+ REPLACE(
+ REPLACE(OuterRingXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''),
+ 'Point2DXmlSerializer.SerializablePoint2D',
+ 'SerializablePoint2D'
+ ),
+ [Order]
+FROM [SOURCEPROJECT].MacroStabilityInwardsSoilLayerTwoDEntity;
INSERT INTO MacroStabilityInwardsSoilProfileOneDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilProfileOneDEntity;
INSERT INTO MacroStabilityInwardsSoilProfileTwoDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilProfileTwoDEntity;
INSERT INTO MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity;
@@ -734,7 +838,23 @@
JOIN [SOURCEPROJECT].AssessmentSectionEntity USING(AssessmentSectionEntityId);
INSERT INTO StabilityStoneCoverWaveConditionsOutputEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsOutputEntity;
INSERT INTO StochastEntity SELECT * FROM [SOURCEPROJECT].StochastEntity;
-INSERT INTO StochasticSoilModelEntity SELECT * FROM [SOURCEPROJECT].StochasticSoilModelEntity;
+INSERT INTO StochasticSoilModelEntity (
+ [StochasticSoilModelEntityId],
+ [FailureMechanismEntityId],
+ [Name],
+ [StochasticSoilModelSegmentPointXml],
+ [Order])
+SELECT
+ [StochasticSoilModelEntityId],
+ [FailureMechanismEntityId],
+ [Name],
+ REPLACE(
+ REPLACE(StochasticSoilModelSegmentPointXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''),
+ 'Point2DXmlSerializer.SerializablePoint2D',
+ 'SerializablePoint2D'
+ ),
+ [Order]
+FROM [SOURCEPROJECT].StochasticSoilModelEntity;
INSERT INTO StrengthStabilityLengthwiseConstructionSectionResultEntity (
[StrengthStabilityLengthwiseConstructionSectionResultEntityId],
[FailureMechanismSectionEntityId],
@@ -1149,7 +1269,11 @@
[HydraulicDatabaseVersion],
[HydraulicDatabaseLocation],
[Composition],
- [ReferenceLinePointXml],
+ REPLACE(
+ REPLACE(ReferenceLinePointXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''),
+ 'Point2DXmlSerializer.SerializablePoint2D',
+ 'SerializablePoint2D'
+ ),
[Order]
FROM [SOURCEPROJECT].AssessmentSectionEntity
JOIN (
Index: Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo181IntegrationTest.cs
===================================================================
diff -u -r19382b3670a64bb81d862b8a423d2d4ed1736420 -re9a3ea2b12aec1bdf19ec28a3894cf6b0c0312c2
--- Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo181IntegrationTest.cs (.../MigrationTo181IntegrationTest.cs) (revision 19382b3670a64bb81d862b8a423d2d4ed1736420)
+++ Ringtoets/Migration/test/Ringtoets.Migration.Integration.Test/MigrationTo181IntegrationTest.cs (.../MigrationTo181IntegrationTest.cs) (revision e9a3ea2b12aec1bdf19ec28a3894cf6b0c0312c2)
@@ -126,8 +126,9 @@
AssertWaveConditionsCalculations(reader, sourceFilePath);
MigratedSerializedDataTestHelper.AssertSerializedMacroStabilityInwardsOutput(reader);
- MigratedSerializedDataTestHelper.AssertSerializedDikeProfile(reader);
+ MigratedSerializedDataTestHelper.AssertSerializedDikeProfileRoughnessPoints(reader);
MigratedSerializedDataTestHelper.AssertSerializedSurfaceLine(reader);
+ MigratedSerializedDataTestHelper.AssertSerializedPoint2DCollection(reader);
}
AssertLogDatabase(logFilePath);
@@ -637,7 +638,6 @@
"AND NEW.HydraulicDatabaseVersion IS OLD.HydraulicDatabaseVersion " +
"AND NEW.HydraulicDatabaseLocation IS OLD.HydraulicDatabaseLocation " +
"AND NEW.Composition = OLD.Composition " +
- "AND NEW.ReferenceLinePointXml IS OLD.ReferenceLinePointXml " +
"AND NEW.\"Order\" = OLD.\"Order\"; " +
"DETACH DATABASE SOURCEPROJECT;";
@@ -1010,7 +1010,7 @@
/// - The namespace is still present.
/// - The class name of the serialized data is still present.
///
- public static void AssertSerializedDikeProfile(MigratedDatabaseReader reader)
+ public static void AssertSerializedDikeProfileRoughnessPoints(MigratedDatabaseReader reader)
{
string validateDikeGeometry =
"SELECT " +
@@ -1042,6 +1042,35 @@
reader.AssertReturnedDataIsValid(validateSurfaceLinePoints);
}
+
+ ///
+ /// Asserts the migrated serialized data related to serialized 2D point collections.
+ ///
+ /// The reader to read the migrated database.
+ /// Thrown when:
+ ///
+ /// - The namespace is still present.
+ /// - The class name of the serialized data is still present.
+ ///
+ public static void AssertSerializedPoint2DCollection(MigratedDatabaseReader reader)
+ {
+ reader.AssertReturnedDataIsValid(GenerateSerializedPoint2DValidationQuery("AssessmentSectionEntity", "ReferenceLinePointXml"));
+ reader.AssertReturnedDataIsValid(GenerateSerializedPoint2DValidationQuery("FailureMechanismSectionEntity", "FailureMechanismSectionPointXml"));
+ reader.AssertReturnedDataIsValid(GenerateSerializedPoint2DValidationQuery("StochasticSoilModelEntity", "StochasticSoilModelSegmentPointXml"));
+ reader.AssertReturnedDataIsValid(GenerateSerializedPoint2DValidationQuery("DikeProfileEntity", "ForeshoreXml"));
+ reader.AssertReturnedDataIsValid(GenerateSerializedPoint2DValidationQuery("ForeshoreProfileEntity", "GeometryXml"));
+ reader.AssertReturnedDataIsValid(GenerateSerializedPoint2DValidationQuery("MacroStabilityInwardsSoilLayerTwoDEntity", "OuterRingXml"));
+ }
+
+ private static string GenerateSerializedPoint2DValidationQuery(string tableName,
+ string columnName)
+ {
+ return "SELECT " +
+ "COUNT() = 0 " +
+ $"FROM {tableName} " +
+ $"WHERE LIKE('%Point2DXmlSerializer%', {columnName}) " +
+ $"OR LIKE('%{oldNamespace}%', {columnName})";
+ }
}
#endregion