Index: Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql
===================================================================
diff -u -r4172a43eb4edadadb77bbc26301cefc6ea5478eb -r25b6fd2d98971ab73ad67452aa3fe2bb96f6137e
--- Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql (.../Migration_18.1_19.1.sql) (revision 4172a43eb4edadadb77bbc26301cefc6ea5478eb)
+++ Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql (.../Migration_18.1_19.1.sql) (revision 25b6fd2d98971ab73ad67452aa3fe2bb96f6137e)
@@ -1073,6 +1073,135 @@
FROM SOURCEPROJECT.AssessmentSectionEntity
WHERE [HydraulicDatabaseLocation] IS NOT NULL;
+/*
+ Delete all output entries that were calculated with invalid dikeprofiles or foreshoreprofiles
+ Deletion is performed at this stage to prevent orphaned entries in the database after migration
+*/
+DELETE
+FROM GrassCoverErosionInwardsOutputEntity
+WHERE GrassCoverErosionInwardsOutputEntityId IN
+(
+ SELECT
+ [GrassCoverErosionInwardsOutputEntityId]
+ FROM [SOURCEPROJECT].GrassCoverErosionInwardsOutputEntity
+ JOIN [SOURCEPROJECT].GrassCoverErosionInwardsCalculationEntity USING(GrassCoverErosionInwardsCalculationEntityId)
+ JOIN [SOURCEPROJECT].DikeProfileEntity USING(DikeProfileEntityId)
+ WHERE(LENGTH(DikeGeometryXml) - LENGTH(REPLACE(REPLACE(DikeGeometryXml, '', ''), '', ''))) /
+ (LENGTH('') + LENGTH('')) < 2
+ OR (LENGTH(ForeshoreXML) - LENGTH(REPLACE(REPLACE(ForeshoreXML, '', ''), '', '')))
+ / (LENGTH('') + LENGTH('')) = 1
+);
+
+DELETE
+FROM GrassCoverErosionInwardsDikeHeightOutputEntity
+WHERE GrassCoverErosionInwardsDikeHeightOutputEntityId IN
+(
+ SELECT
+ [GrassCoverErosionInwardsDikeHeightOutputEntityId]
+ FROM [SOURCEPROJECT].GrassCoverErosionInwardsDikeHeightOutputEntity
+ JOIN [SOURCEPROJECT].GrassCoverErosionInwardsOutputEntity USING(GrassCoverErosionInwardsOutputEntityId)
+ JOIN [SOURCEPROJECT].GrassCoverErosionInwardsCalculationEntity USING(GrassCoverErosionInwardsCalculationEntityId)
+ JOIN [SOURCEPROJECT].DikeProfileEntity USING(DikeProfileEntityId)
+ WHERE(LENGTH(DikeGeometryXml) - LENGTH(REPLACE(REPLACE(DikeGeometryXml, '', ''), '', ''))) /
+ (LENGTH('') + LENGTH('')) < 2
+ OR (LENGTH(ForeshoreXML) - LENGTH(REPLACE(REPLACE(ForeshoreXML, '', ''), '', '')))
+ / (LENGTH('') + LENGTH('')) = 1
+);
+
+DELETE
+FROM GrassCoverErosionInwardsOvertoppingRateOutputEntity
+WHERE GrassCoverErosionInwardsOvertoppingRateOutputEntityId IN
+(
+ SELECT
+ [GrassCoverErosionInwardsOvertoppingRateOutputEntityId]
+ FROM [SOURCEPROJECT].GrassCoverErosionInwardsOvertoppingRateOutputEntity
+ JOIN [SOURCEPROJECT].GrassCoverErosionInwardsOutputEntity USING(GrassCoverErosionInwardsOutputEntityId)
+ JOIN [SOURCEPROJECT].GrassCoverErosionInwardsCalculationEntity USING(GrassCoverErosionInwardsCalculationEntityId)
+ JOIN [SOURCEPROJECT].DikeProfileEntity USING(DikeProfileEntityId)
+ WHERE(LENGTH(DikeGeometryXml) - LENGTH(REPLACE(REPLACE(DikeGeometryXml, '', ''), '', ''))) /
+ (LENGTH('') + LENGTH('')) < 2
+ OR (LENGTH(ForeshoreXML) - LENGTH(REPLACE(REPLACE(ForeshoreXML, '', ''), '', '')))
+ / (LENGTH('') + LENGTH('')) = 1
+);
+
+DELETE
+FROM ClosingStructuresOutputEntity
+WHERE ClosingStructuresOutputEntityId IN
+(
+ SELECT
+ [ClosingStructuresOutputEntityId]
+ FROM [SOURCEPROJECT].ClosingStructuresOutputEntity
+ JOIN [SOURCEPROJECT].ClosingStructuresCalculationEntity USING(ClosingStructuresCalculationEntityId)
+ JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
+ WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
+ (LENGTH('') + LENGTH('')) = 1
+);
+
+DELETE
+FROM HeightStructuresOutputEntity
+WHERE HeightStructuresOutputEntityId IN
+(
+ SELECT
+ [HeightStructuresOutputEntityId]
+ FROM [SOURCEPROJECT].HeightStructuresOutputEntity
+ JOIN [SOURCEPROJECT].HeightStructuresCalculationEntity USING(HeightStructuresCalculationEntityId)
+ JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
+ WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
+ (LENGTH('') + LENGTH('')) = 1
+);
+
+DELETE
+FROM StabilityPointStructuresOutputEntity
+WHERE StabilityPointStructuresOutputEntityId IN
+(
+ SELECT
+ [StabilityPointStructuresOutputEntityId]
+ FROM [SOURCEPROJECT].StabilityPointStructuresOutputEntity
+ JOIN [SOURCEPROJECT].StabilityPointStructuresCalculationEntity USING(StabilityPointStructuresCalculationEntityId)
+ JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
+ WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
+ (LENGTH('') + LENGTH('')) = 1
+);
+
+DELETE
+FROM GrassCoverErosionOutwardsWaveConditionsOutputEntity
+WHERE GrassCoverErosionOutwardsWaveConditionsOutputEntityId IN
+(
+ SELECT
+ [GrassCoverErosionOutwardsWaveConditionsOutputEntityId]
+ FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsOutputEntity
+ JOIN [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsCalculationEntity USING(GrassCoverErosionOutwardsWaveConditionsCalculationEntityId)
+ JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
+ WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
+ (LENGTH('') + LENGTH('')) = 1
+);
+
+DELETE
+FROM StabilityStoneCoverWaveConditionsOutputEntity
+WHERE StabilityStoneCoverWaveConditionsOutputEntityId IN
+(
+ SELECT
+ [StabilityStoneCoverWaveConditionsOutputEntityId]
+ FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsOutputEntity
+ JOIN [SOURCEPROJECT].StabilityStoneCoverWaveConditionsCalculationEntity USING(StabilityStoneCoverWaveConditionsCalculationEntityId)
+ JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
+ WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
+ (LENGTH('') + LENGTH('')) = 1
+);
+
+DELETE
+FROM WaveImpactAsphaltCoverWaveConditionsOutputEntity
+WHERE WaveImpactAsphaltCoverWaveConditionsOutputEntityId IN
+(
+ SELECT
+ [WaveImpactAsphaltCoverWaveConditionsOutputEntityId]
+ FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsOutputEntity
+ JOIN [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsCalculationEntity USING(WaveImpactAsphaltCoverWaveConditionsCalculationEntityId)
+ JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
+ WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
+ (LENGTH('') + LENGTH('')) = 1
+);
+
/*
Write migration logging
*/
@@ -1626,101 +1755,4 @@
PRAGMA foreign_keys = ON;
-/*
- Delete all output entries that were calculated with invalid dikeprofiles or foreshoreprofiles
- Deletion is performed at this stage to prevent orphaned entries in the database after migration
-*/
-DELETE
-FROM GrassCoverErosionInwardsOutputEntity
-WHERE GrassCoverErosionInwardsOutputEntityId IN
-(
- SELECT
- [GrassCoverErosionInwardsOutputEntityId]
- FROM [SOURCEPROJECT].GrassCoverErosionInwardsOutputEntity
- JOIN [SOURCEPROJECT].GrassCoverErosionInwardsCalculationEntity USING(GrassCoverErosionInwardsCalculationEntityId)
- JOIN [SOURCEPROJECT].DikeProfileEntity USING(DikeProfileEntityId)
- WHERE(LENGTH(DikeGeometryXml) - LENGTH(REPLACE(REPLACE(DikeGeometryXml, '', ''), '', ''))) /
- (LENGTH('') + LENGTH('')) < 2
- OR (LENGTH(ForeshoreXML) - LENGTH(REPLACE(REPLACE(ForeshoreXML, '', ''), '', '')))
- / (LENGTH('') + LENGTH('')) = 1
-);
-
-DELETE
-FROM ClosingStructuresOutputEntity
-WHERE ClosingStructuresOutputEntityId IN
-(
- SELECT
- [ClosingStructuresOutputEntityId]
- FROM [SOURCEPROJECT].ClosingStructuresOutputEntity
- JOIN [SOURCEPROJECT].ClosingStructuresCalculationEntity USING(ClosingStructuresCalculationEntityId)
- JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
- WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
- (LENGTH('') + LENGTH('')) = 1
-);
-
-DELETE
-FROM HeightStructuresOutputEntity
-WHERE HeightStructuresOutputEntityId IN
-(
- SELECT
- [HeightStructuresOutputEntityId]
- FROM [SOURCEPROJECT].HeightStructuresOutputEntity
- JOIN [SOURCEPROJECT].HeightStructuresCalculationEntity USING(HeightStructuresCalculationEntityId)
- JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
- WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
- (LENGTH('') + LENGTH('')) = 1
-);
-
-DELETE
-FROM StabilityPointStructuresOutputEntity
-WHERE StabilityPointStructuresOutputEntityId IN
-(
- SELECT
- [StabilityPointStructuresOutputEntityId]
- FROM [SOURCEPROJECT].StabilityPointStructuresOutputEntity
- JOIN [SOURCEPROJECT].StabilityPointStructuresCalculationEntity USING(StabilityPointStructuresCalculationEntityId)
- JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
- WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
- (LENGTH('') + LENGTH('')) = 1
-);
-
-DELETE
-FROM GrassCoverErosionOutwardsWaveConditionsOutputEntity
-WHERE GrassCoverErosionOutwardsWaveConditionsOutputEntityId IN
-(
- SELECT
- [GrassCoverErosionOutwardsWaveConditionsOutputEntityId]
- FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsOutputEntity
- JOIN [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsCalculationEntity USING(GrassCoverErosionOutwardsWaveConditionsCalculationEntityId)
- JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
- WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
- (LENGTH('') + LENGTH('')) = 1
-);
-
-DELETE
-FROM StabilityStoneCoverWaveConditionsOutputEntity
-WHERE StabilityStoneCoverWaveConditionsOutputEntityId IN
-(
- SELECT
- [StabilityStoneCoverWaveConditionsOutputEntityId]
- FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsOutputEntity
- JOIN [SOURCEPROJECT].StabilityStoneCoverWaveConditionsCalculationEntity USING(StabilityStoneCoverWaveConditionsCalculationEntityId)
- JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
- WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
- (LENGTH('') + LENGTH('')) = 1
-);
-
-DELETE
-FROM WaveImpactAsphaltCoverWaveConditionsOutputEntity
-WHERE WaveImpactAsphaltCoverWaveConditionsOutputEntityId IN
-(
- SELECT
- [WaveImpactAsphaltCoverWaveConditionsOutputEntityId]
- FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsOutputEntity
- JOIN [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsCalculationEntity USING(WaveImpactAsphaltCoverWaveConditionsCalculationEntityId)
- JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(ForeshoreProfileEntityId)
- WHERE (LENGTH(GeometryXML) - LENGTH(REPLACE(REPLACE(GeometryXML, '', ''), '', ''))) /
- (LENGTH('') + LENGTH('')) = 1
-);
-
DETACH SOURCEPROJECT;
\ No newline at end of file