Fisheye: Tag 68c67ec6bb74c35eeecbf0b95983a5c780f6d008 refers to a dead (removed) revision in file `Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure23.2.sql'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure24.1.sql
===================================================================
diff -u
--- Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure24.1.sql (revision 0)
+++ Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure24.1.sql (revision 68c67ec6bb74c35eeecbf0b95983a5c780f6d008)
@@ -0,0 +1,2637 @@
+/* ---------------------------------------------------- */
+/* Generated by Enterprise Architect Version 16.1 */
+/* Created On : 24-jun-2024 07:58:24 */
+/* DBMS : SQLite */
+/* ---------------------------------------------------- */
+
+/* Drop Tables */
+
+DROP TABLE IF EXISTS VersionEntity
+;
+
+DROP TABLE IF EXISTS ProjectEntity
+;
+
+DROP TABLE IF EXISTS AssessmentSectionEntity
+;
+
+DROP TABLE IF EXISTS FailureMechanismEntity
+;
+
+DROP TABLE IF EXISTS FailureMechanismSectionEntity
+;
+
+DROP TABLE IF EXISTS ClosingStructuresFailureMechanismMetaEntity
+;
+
+DROP TABLE IF EXISTS CalculationGroupEntity
+;
+
+DROP TABLE IF EXISTS HydraulicLocationEntity
+;
+
+DROP TABLE IF EXISTS SemiProbabilisticPipingCalculationEntity
+;
+
+DROP TABLE IF EXISTS GrassCoverErosionInwardsFailureMechanismMetaEntity
+;
+
+DROP TABLE IF EXISTS GrassCoverErosionInwardsCalculationEntity
+;
+
+DROP TABLE IF EXISTS GrassCoverErosionOutwardsFailureMechanismMetaEntity
+;
+
+DROP TABLE IF EXISTS PipingSoilProfileEntity
+;
+
+DROP TABLE IF EXISTS PipingSoilLayerEntity
+;
+
+DROP TABLE IF EXISTS PipingStochasticSoilProfileEntity
+;
+
+DROP TABLE IF EXISTS StochasticSoilModelEntity
+;
+
+DROP TABLE IF EXISTS PipingFailureMechanismSectionConfigurationEntity
+;
+
+DROP TABLE IF EXISTS SurfaceLineEntity
+;
+
+DROP TABLE IF EXISTS PipingCharacteristicPointEntity
+;
+
+DROP TABLE IF EXISTS WaveImpactAsphaltCoverFailureMechanismMetaEntity
+;
+
+DROP TABLE IF EXISTS AdoptableFailureMechanismSectionResultEntity
+;
+
+DROP TABLE IF EXISTS BackgroundDataEntity
+;
+
+DROP TABLE IF EXISTS BackgroundDataMetaEntity
+;
+
+DROP TABLE IF EXISTS ClosingStructureEntity
+;
+
+DROP TABLE IF EXISTS ClosingStructuresCalculationEntity
+;
+
+DROP TABLE IF EXISTS ClosingStructuresOutputEntity
+;
+
+DROP TABLE IF EXISTS DikeProfileEntity
+;
+
+DROP TABLE IF EXISTS DuneErosionFailureMechanismMetaEntity
+;
+
+DROP TABLE IF EXISTS DuneLocationCalculationEntity
+;
+
+DROP TABLE IF EXISTS DuneLocationCalculationForTargetProbabilityCollectionEntity
+;
+
+DROP TABLE IF EXISTS DuneLocationCalculationOutputEntity
+;
+
+DROP TABLE IF EXISTS DuneLocationEntity
+;
+
+DROP TABLE IF EXISTS FailureMechanismFailureMechanismSectionEntity
+;
+
+DROP TABLE IF EXISTS FaultTreeIllustrationPointEntity
+;
+
+DROP TABLE IF EXISTS FaultTreeIllustrationPointStochastEntity
+;
+
+DROP TABLE IF EXISTS FaultTreeSubmechanismIllustrationPointEntity
+;
+
+DROP TABLE IF EXISTS ForeshoreProfileEntity
+;
+
+DROP TABLE IF EXISTS GeneralResultFaultTreeIllustrationPointEntity
+;
+
+DROP TABLE IF EXISTS GeneralResultFaultTreeIllustrationPointStochastEntity
+;
+
+DROP TABLE IF EXISTS GeneralResultSubMechanismIllustrationPointEntity
+;
+
+DROP TABLE IF EXISTS GeneralResultSubMechanismIllustrationPointStochastEntity
+;
+
+DROP TABLE IF EXISTS GrassCoverErosionInwardsDikeHeightOutputEntity
+;
+
+DROP TABLE IF EXISTS GrassCoverErosionInwardsOutputEntity
+;
+
+DROP TABLE IF EXISTS GrassCoverErosionInwardsOvertoppingRateOutputEntity
+;
+
+DROP TABLE IF EXISTS GrassCoverErosionOutwardsWaveConditionsCalculationEntity
+;
+
+DROP TABLE IF EXISTS GrassCoverErosionOutwardsWaveConditionsOutputEntity
+;
+
+DROP TABLE IF EXISTS HeightStructureEntity
+;
+
+DROP TABLE IF EXISTS HeightStructuresCalculationEntity
+;
+
+DROP TABLE IF EXISTS HeightStructuresFailureMechanismMetaEntity
+;
+
+DROP TABLE IF EXISTS HeightStructuresOutputEntity
+;
+
+DROP TABLE IF EXISTS HydraulicBoundaryDatabaseEntity
+;
+
+DROP TABLE IF EXISTS HydraulicBoundaryDataEntity
+;
+
+DROP TABLE IF EXISTS HydraulicLocationCalculationCollectionEntity
+;
+
+DROP TABLE IF EXISTS HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity
+;
+
+DROP TABLE IF EXISTS HydraulicLocationCalculationEntity
+;
+
+DROP TABLE IF EXISTS HydraulicLocationCalculationForTargetProbabilityCollectionEntity
+;
+
+DROP TABLE IF EXISTS HydraulicLocationCalculationForTargetProbabilityCollectionHydraulicLocationCalculationEntity
+;
+
+DROP TABLE IF EXISTS HydraulicLocationOutputEntity
+;
+
+DROP TABLE IF EXISTS IllustrationPointResultEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsCalculationEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsCalculationOutputEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsCharacteristicPointEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsFailureMechanismMetaEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsFailureMechanismSectionConfigurationEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsPreconsolidationStressEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsSoilLayerOneDEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsSoilLayerTwoDEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsSoilProfileOneDEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsSoilProfileTwoDEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity
+;
+
+DROP TABLE IF EXISTS MacroStabilityInwardsStochasticSoilProfileEntity
+;
+
+DROP TABLE IF EXISTS NonAdoptableFailureMechanismSectionResultEntity
+;
+
+DROP TABLE IF EXISTS PipingFailureMechanismMetaEntity
+;
+
+DROP TABLE IF EXISTS ProbabilisticPipingCalculationEntity
+;
+
+DROP TABLE IF EXISTS ProbabilisticPipingCalculationOutputEntity
+;
+
+DROP TABLE IF EXISTS SemiProbabilisticPipingCalculationOutputEntity
+;
+
+DROP TABLE IF EXISTS SpecificFailureMechanismEntity
+;
+
+DROP TABLE IF EXISTS SpecificFailureMechanismFailureMechanismSectionEntity
+;
+
+DROP TABLE IF EXISTS StabilityPointStructureEntity
+;
+
+DROP TABLE IF EXISTS StabilityPointStructuresCalculationEntity
+;
+
+DROP TABLE IF EXISTS StabilityPointStructuresFailureMechanismMetaEntity
+;
+
+DROP TABLE IF EXISTS StabilityPointStructuresOutputEntity
+;
+
+DROP TABLE IF EXISTS StabilityStoneCoverFailureMechanismMetaEntity
+;
+
+DROP TABLE IF EXISTS StabilityStoneCoverWaveConditionsCalculationEntity
+;
+
+DROP TABLE IF EXISTS StabilityStoneCoverWaveConditionsOutputEntity
+;
+
+DROP TABLE IF EXISTS StochastEntity
+;
+
+DROP TABLE IF EXISTS SubMechanismIllustrationPointEntity
+;
+
+DROP TABLE IF EXISTS SubMechanismIllustrationPointStochastEntity
+;
+
+DROP TABLE IF EXISTS TopLevelFaultTreeIllustrationPointEntity
+;
+
+DROP TABLE IF EXISTS TopLevelSubMechanismIllustrationPointEntity
+;
+
+DROP TABLE IF EXISTS WaveImpactAsphaltCoverWaveConditionsCalculationEntity
+;
+
+DROP TABLE IF EXISTS WaveImpactAsphaltCoverWaveConditionsOutputEntity
+;
+
+/* Create Tables with Primary and Foreign Keys, Check and Unique Constraints */
+
+CREATE TABLE VersionEntity
+(
+ VersionId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ Version VARCHAR (20) NOT NULL,
+ Timestamp DATETIME NOT NULL,
+ FingerPrint BLOB NOT NULL
+)
+;
+
+CREATE TABLE ProjectEntity
+(
+ ProjectEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ Description VARCHAR (260) NULL
+)
+;
+
+CREATE TABLE AssessmentSectionEntity
+(
+ AssessmentSectionEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ ProjectEntityId INTEGER NOT NULL,
+ HydraulicLocationCalculationCollectionEntity1Id INTEGER NOT NULL, -- Represents the water level signal flooding probability
+ HydraulicLocationCalculationCollectionEntity2Id INTEGER NOT NULL, -- Represents the water level maximum allowable flooding probability
+ Id TEXT NULL COLLATE NOCASE,
+ Name VARCHAR (260) NULL,
+ Comments TEXT NULL COLLATE NOCASE,
+ MaximumAllowableFloodingProbability REAL NOT NULL,
+ SignalFloodingProbability REAL NOT NULL,
+ NormativeProbabilityType TINYINT (1) NOT NULL, -- EnumType: 1 = MaximumAllowableFloodingProbability, 2 = SignalFloodingProbability
+ Composition TINYINT (1) NOT NULL, -- Enum: 1 = Dike, 2 = Dune, 3 = DikeAndDune
+ ReferenceLinePointXml TEXT NULL COLLATE NOCASE,
+ AreFailureMechanismsCorrelated TINYINT (1) NOT NULL, -- true or false
+ CONSTRAINT FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity1 FOREIGN KEY (HydraulicLocationCalculationCollectionEntity1Id) REFERENCES HydraulicLocationCalculationCollectionEntity (HydraulicLocationCalculationCollectionEntityId) ON DELETE No Action ON UPDATE Cascade,
+ CONSTRAINT FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity2 FOREIGN KEY (HydraulicLocationCalculationCollectionEntity2Id) REFERENCES HydraulicLocationCalculationCollectionEntity (HydraulicLocationCalculationCollectionEntityId) ON DELETE No Action ON UPDATE Cascade,
+ CONSTRAINT FK_AssessmentSectionEntity_ProjectEntity FOREIGN KEY (ProjectEntityId) REFERENCES ProjectEntity (ProjectEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT U_HydraulicLocationCalculationCollectionEntity1Id UNIQUE (HydraulicLocationCalculationCollectionEntity1Id),
+ CONSTRAINT U_HydraulicLocationCalculationCollectionEntity2Id UNIQUE (HydraulicLocationCalculationCollectionEntity2Id)
+)
+;
+
+CREATE TABLE FailureMechanismEntity
+(
+ FailureMechanismEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ AssessmentSectionEntityId INTEGER NOT NULL,
+ CalculationGroupEntityId INTEGER NULL,
+ FailureMechanismType SMALLINT NOT NULL, -- Enum: 1 = Piping, 2 = Macrostabiliteit binnenwaarts, 3= Golfklappen op asfaltbekleding, 4= Grasbekleding erosie buitentalud, 5 = Grasbekleding afschuiven buitentalud, 6 = Grasbekleding erosie kruin en binnentalud, 7 = Stabiliteit steenzetting, 8 = Duinafslag, 9 = Hoogte kunstwerk, 10 = Betrouwbaarheid sluiten kunstwerk, 11 = Piping bij kunstwerk, 12 = Sterkte en stabiliteit puntconstructires, 13 = Microstabiliteit, 14 = Wateroverdruk bij asfaltbekleding, 15 = Grasbekleding afschuiven binnentalud
+ InAssembly TINYINT (1) NOT NULL, -- true or false
+ FailureMechanismSectionCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ InAssemblyInputComments TEXT NULL COLLATE NOCASE,
+ InAssemblyOutputComments TEXT NULL COLLATE NOCASE,
+ NotInAssemblyComments TEXT NULL COLLATE NOCASE,
+ CalculationsInputComments TEXT NULL COLLATE NOCASE,
+ FailureMechanismAssemblyResultProbabilityResultType TINYINT (1) NOT NULL, -- Enum: None = 1, P1 = 2, P2 = 3, Manual = 4
+ FailureMechanismAssemblyResultManualFailureMechanismAssemblyProbability REAL NULL,
+ CONSTRAINT FK_FailureMechanismEntity_AssessmentSectionEntity FOREIGN KEY (AssessmentSectionEntityId) REFERENCES AssessmentSectionEntity (AssessmentSectionEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_FailureMechanismEntity_CalculationGroupEntity FOREIGN KEY (CalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT UI_AssessmentSectionEntityId_FailureMechanismType UNIQUE (AssessmentSectionEntityId,FailureMechanismType)
+)
+;
+
+CREATE TABLE FailureMechanismSectionEntity
+(
+ FailureMechanismSectionEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ Name VARCHAR (260) NOT NULL,
+ FailureMechanismSectionPointXml TEXT NOT NULL COLLATE NOCASE
+)
+;
+
+CREATE TABLE ClosingStructuresFailureMechanismMetaEntity
+(
+ ClosingStructuresFailureMechanismMetaEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ ClosingStructureCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ ForeshoreProfileCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ CONSTRAINT FK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE CalculationGroupEntity
+(
+ CalculationGroupEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ ParentCalculationGroupEntityId INTEGER NULL,
+ Name VARCHAR (260) NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_CalculationGroupEntity_CalculationGroupEntity FOREIGN KEY (ParentCalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE HydraulicLocationEntity
+(
+ HydraulicLocationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ HydraulicBoundaryDatabaseEntityId INTEGER NOT NULL,
+ LocationId INTEGER NOT NULL,
+ Name VARCHAR (260) NOT NULL,
+ LocationX REAL NULL,
+ LocationY REAL NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_HydraulicLocationEntity_HydraulicBoundaryDatabaseEntity FOREIGN KEY (HydraulicBoundaryDatabaseEntityId) REFERENCES HydraulicBoundaryDatabaseEntity (HydraulicBoundaryDatabaseEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE SemiProbabilisticPipingCalculationEntity
+(
+ SemiProbabilisticPipingCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ CalculationGroupEntityId INTEGER NOT NULL,
+ SurfaceLineEntityId INTEGER NULL,
+ PipingStochasticSoilProfileEntityId INTEGER NULL,
+ HydraulicLocationEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NULL,
+ Comments TEXT NULL COLLATE NOCASE,
+ EntryPointL REAL NULL,
+ ExitPointL REAL NULL,
+ PhreaticLevelExitMean REAL NULL,
+ PhreaticLevelExitStandardDeviation REAL NULL,
+ DampingFactorExitMean REAL NULL,
+ DampingFactorExitStandardDeviation REAL NULL,
+ RelevantForScenario TINYINT (1) NOT NULL, -- true or false
+ ScenarioContribution REAL NOT NULL,
+ AssessmentLevel REAL NULL,
+ UseAssessmentLevelManualInput TINYINT (1) NOT NULL, -- true or false
+ CONSTRAINT FK_SemiProbabilisticPipingCalculationEntity_CalculationGroupEntity FOREIGN KEY (CalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_SemiProbabilisticPipingCalculationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_SemiProbabilisticPipingCalculationEntity_PipingStochasticSoilProfileEntity FOREIGN KEY (PipingStochasticSoilProfileEntityId) REFERENCES PipingStochasticSoilProfileEntity (PipingStochasticSoilProfileEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_SemiProbabilisticPipingCalculationEntity_SurfaceLineEntity FOREIGN KEY (SurfaceLineEntityId) REFERENCES SurfaceLineEntity (SurfaceLineEntityId) ON DELETE Set Null ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE GrassCoverErosionInwardsFailureMechanismMetaEntity
+(
+ GrassCoverErosionInwardsFailureMechanismMetaEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ DikeProfileCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ CONSTRAINT FK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE GrassCoverErosionInwardsCalculationEntity
+(
+ GrassCoverErosionInwardsCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ CalculationGroupEntityId INTEGER NOT NULL,
+ HydraulicLocationEntityId INTEGER NULL,
+ DikeProfileEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NULL,
+ Comments TEXT NULL COLLATE NOCASE,
+ Orientation REAL NULL,
+ CriticalFlowRateMean REAL NULL,
+ CriticalFlowRateStandardDeviation REAL NULL,
+ UseForeshore TINYINT (1) NOT NULL, -- true or false
+ DikeHeight REAL NULL,
+ UseBreakWater TINYINT (1) NOT NULL, -- true or false
+ BreakWaterType TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam
+ BreakWaterHeight REAL NULL,
+ ShouldOvertoppingOutputIllustrationPointsBeCalculated TINYINT (1) NOT NULL, -- true or false
+ ShouldDikeHeightBeCalculated TINYINT (1) NOT NULL, -- true or false
+ DikeHeightTargetProbability REAL NOT NULL,
+ ShouldDikeHeightIllustrationPointsBeCalculated TINYINT (1) NOT NULL, -- true or false
+ ShouldOvertoppingRateBeCalculated TINYINT (1) NOT NULL, -- true or false
+ OvertoppingRateTargetProbability REAL NOT NULL,
+ ShouldOvertoppingRateIllustrationPointsBeCalculated TINYINT (1) NOT NULL, -- true or false
+ RelevantForScenario TINYINT (1) NOT NULL, -- true or false
+ ScenarioContribution REAL NOT NULL,
+ CONSTRAINT FK_GrassCoverErosionInwardsCalculationEntity_CalculationGroupEntity FOREIGN KEY (CalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_GrassCoverErosionInwardsCalculationEntity_DikeProfileEntity FOREIGN KEY (DikeProfileEntityId) REFERENCES DikeProfileEntity (DikeProfileEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_GrassCoverErosionInwardsCalculationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Set Null ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE GrassCoverErosionOutwardsFailureMechanismMetaEntity
+(
+ GrassCoverErosionOutwardsFailureMechanismMetaEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ ForeshoreProfileCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ CONSTRAINT FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE PipingSoilProfileEntity
+(
+ PipingSoilProfileEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ Bottom REAL NULL,
+ Name TEXT NOT NULL COLLATE NOCASE,
+ SourceType TINYINT (1) NOT NULL -- Enum: 1 = SoilProfile1D, 2 = SoilProfile2D
+)
+;
+
+CREATE TABLE PipingSoilLayerEntity
+(
+ PipingSoilLayerEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ PipingSoilProfileEntityId INTEGER NOT NULL,
+ Top REAL NULL,
+ IsAquifer TINYINT (1) NOT NULL, -- true or false
+ Color INTEGER NULL, -- ARGB value of Color.
+ MaterialName TEXT NOT NULL COLLATE NOCASE,
+ BelowPhreaticLevelMean REAL NULL,
+ BelowPhreaticLevelDeviation REAL NULL,
+ BelowPhreaticLevelShift REAL NULL,
+ DiameterD70Mean REAL NULL,
+ DiameterD70CoefficientOfVariation REAL NULL,
+ PermeabilityMean REAL NULL,
+ PermeabilityCoefficientOfVariation REAL NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_PipingSoilLayerEntity_SoilProfileEntity FOREIGN KEY (PipingSoilProfileEntityId) REFERENCES PipingSoilProfileEntity (PipingSoilProfileEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE PipingStochasticSoilProfileEntity
+(
+ PipingStochasticSoilProfileEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ PipingSoilProfileEntityId INTEGER NOT NULL,
+ StochasticSoilModelEntityId INTEGER NOT NULL,
+ Probability REAL NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_PipingStochasticSoilProfileEntity_SoilProfileEntity FOREIGN KEY (PipingSoilProfileEntityId) REFERENCES PipingSoilProfileEntity (PipingSoilProfileEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_PipingStochasticSoilProfileEntity_StochasticSoilModelEntity FOREIGN KEY (StochasticSoilModelEntityId) REFERENCES StochasticSoilModelEntity (StochasticSoilModelEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE StochasticSoilModelEntity
+(
+ StochasticSoilModelEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ Name TEXT NOT NULL COLLATE NOCASE,
+ StochasticSoilModelSegmentPointXml TEXT NOT NULL COLLATE NOCASE,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_StochasticSoilModelEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT UQ_StochasticSoilModelEntity_NameFailureMechanismEntityId UNIQUE (Name,FailureMechanismEntityId)
+ )
+;
+
+CREATE TABLE PipingFailureMechanismSectionConfigurationEntity
+(
+ PipingFailureMechanismSectionConfigurationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismSectionEntityId INTEGER NOT NULL,
+ ScenarioConfigurationType TINYINT (1) NOT NULL, -- Enum: SemiProbabilistic = 1 Probabilistic = 2
+ A REAL NOT NULL,
+ CONSTRAINT FK_PipingFailureMechanismSectionConfigurationEntity_FailureMechanismSectionEntity FOREIGN KEY (FailureMechanismSectionEntityId) REFERENCES FailureMechanismSectionEntity (FailureMechanismSectionEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE SurfaceLineEntity
+(
+ SurfaceLineEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ Name VARCHAR (260) NOT NULL,
+ ReferenceLineIntersectionX REAL NULL,
+ ReferenceLineIntersectionY REAL NULL,
+ PointsXml TEXT NOT NULL COLLATE NOCASE,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_SurfaceLineEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT UQ_SurfaceLineEntity_NameFailureMechanismEntityId UNIQUE (Name,FailureMechanismEntityId)
+ )
+;
+
+CREATE TABLE PipingCharacteristicPointEntity
+(
+ PipingCharacteristicPointEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ SurfaceLineEntityId INTEGER NOT NULL,
+ Type TINYINT (1) NOT NULL, -- Enum: 1 = DikeToeAtRiver, 2 = DikeToeAtPolder, 3 = DitchDikeSide, 4 = BottomDitchDikeSide, 5 = BottomDitchPolderSide, 6 = DitchPolderSide
+ X REAL NULL,
+ Y REAL NULL,
+ Z REAL NULL,
+ CONSTRAINT FK_SurfaceLinePointEntity_SurfaceLineEntity FOREIGN KEY (SurfaceLineEntityId) REFERENCES SurfaceLineEntity (SurfaceLineEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE WaveImpactAsphaltCoverFailureMechanismMetaEntity
+(
+ WaveImpactAsphaltCoverFailureMechanismMetaEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ ForeshoreProfileCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ CONSTRAINT FK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE AdoptableFailureMechanismSectionResultEntity
+(
+ AdoptableFailureMechanismSectionResultEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismSectionEntityId INTEGER NOT NULL,
+ IsRelevant TINYINT (1) NOT NULL, -- true or false
+ InitialFailureMechanismResultType TINYINT (1) NOT NULL, -- Enum: Adopt = 1 Manual = 2 NoFailureProbability = 3
+ ManualInitialFailureMechanismResultSectionProbability REAL NULL,
+ FurtherAnalysisType TINYINT (1) NOT NULL, -- Enum: NotNecessary = 1 Necessary = 2 Executed = 3
+ RefinedSectionProbability REAL NULL,
+ CONSTRAINT FK_AdoptableFailureMechanismSectionResultEntity_FailureMechanismSectionEntity FOREIGN KEY (FailureMechanismSectionEntityId) REFERENCES FailureMechanismSectionEntity (FailureMechanismSectionEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE BackgroundDataEntity
+(
+ BackgroundDataEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ AssessmentSectionEntityId INTEGER NOT NULL,
+ Name TEXT NOT NULL COLLATE NOCASE,
+ IsVisible TINYINT (1) NOT NULL, -- true or false
+ Transparency REAL NOT NULL,
+ BackgroundDataType TINYINT (1) NOT NULL, -- Enum: 1 = Wmts, 2 = WellKnown
+ CONSTRAINT FK_BackgroundDataEntity_AssessmentSectionEntity FOREIGN KEY (AssessmentSectionEntityId) REFERENCES AssessmentSectionEntity (AssessmentSectionEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE BackgroundDataMetaEntity
+(
+ BackgroundDataMetaEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ BackgroundDataEntityId INTEGER NOT NULL,
+ 'Key' TEXT NOT NULL COLLATE NOCASE,
+ Value TEXT NOT NULL COLLATE NOCASE,
+ CONSTRAINT FK_BackgroundDataMetaEntity_BackgroundDataEntity FOREIGN KEY (BackgroundDataEntityId) REFERENCES BackgroundDataEntity (BackgroundDataEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT U_BackgroundDataEntityId_Key UNIQUE (BackgroundDataEntityId,'Key')
+)
+;
+
+CREATE TABLE ClosingStructureEntity
+(
+ ClosingStructureEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NOT NULL,
+ Id VARCHAR (260) NOT NULL,
+ X REAL NULL,
+ Y REAL NULL,
+ StructureNormalOrientation REAL NULL,
+ StorageStructureAreaMean REAL NULL,
+ StorageStructureAreaCoefficientOfVariation REAL NULL,
+ AllowedLevelIncreaseStorageMean REAL NULL,
+ AllowedLevelIncreaseStorageStandardDeviation REAL NULL,
+ WidthFlowAperturesMean REAL NULL,
+ WidthFlowAperturesStandardDeviation REAL NULL,
+ LevelCrestStructureNotClosingMean REAL NULL,
+ LevelCrestStructureNotClosingStandardDeviation REAL NULL,
+ InsideWaterLevelMean REAL NULL,
+ InsideWaterLevelStandardDeviation REAL NULL,
+ ThresholdHeightOpenWeirMean REAL NULL,
+ ThresholdHeightOpenWeirStandardDeviation REAL NULL,
+ AreaFlowAperturesMean REAL NULL,
+ AreaFlowAperturesStandardDeviation REAL NULL,
+ CriticalOvertoppingDischargeMean REAL NULL,
+ CriticalOvertoppingDischargeCoefficientOfVariation REAL NULL,
+ FlowWidthAtBottomProtectionMean REAL NULL,
+ FlowWidthAtBottomProtectionStandardDeviation REAL NULL,
+ ProbabilityOpenStructureBeforeFlooding REAL NULL,
+ FailureProbabilityOpenStructure REAL NULL,
+ IdenticalApertures INT (4) NOT NULL,
+ FailureProbabilityReparation REAL NULL,
+ InflowModelType TINYINT (1) NOT NULL, -- Enum: 1 = VerticalWall, 2 = LowSill, 3 = FloodedCulvert
+ CONSTRAINT FK_ClosingStructureEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT U_Id_FailureMechanismEntityId UNIQUE (FailureMechanismEntityId,Id)
+ )
+;
+
+CREATE TABLE ClosingStructuresCalculationEntity
+(
+ ClosingStructuresCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ CalculationGroupEntityId INTEGER NOT NULL,
+ ForeshoreProfileEntityId INTEGER NULL,
+ HydraulicLocationEntityId INTEGER NULL,
+ ClosingStructureEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (255) NULL,
+ Comments TEXT NULL COLLATE NOCASE,
+ UseBreakWater TINYINT (1) NOT NULL, -- true or false
+ BreakWaterType TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam
+ BreakWaterHeight REAL NULL,
+ UseForeshore TINYINT (1) NOT NULL, -- true or false
+ Orientation REAL NULL,
+ StructureNormalOrientation REAL NULL,
+ StorageStructureAreaMean REAL NULL,
+ StorageStructureAreaCoefficientOfVariation REAL NULL,
+ AllowedLevelIncreaseStorageMean REAL NULL,
+ AllowedLevelIncreaseStorageStandardDeviation REAL NULL,
+ WidthFlowAperturesMean REAL NULL,
+ WidthFlowAperturesStandardDeviation REAL NULL,
+ LevelCrestStructureNotClosingMean REAL NULL,
+ LevelCrestStructureNotClosingStandardDeviation REAL NULL,
+ InsideWaterLevelMean REAL NULL,
+ InsideWaterLevelStandardDeviation REAL NULL,
+ ThresholdHeightOpenWeirMean REAL NULL,
+ ThresholdHeightOpenWeirStandardDeviation REAL NULL,
+ AreaFlowAperturesMean REAL NULL,
+ AreaFlowAperturesStandardDeviation REAL NULL,
+ CriticalOvertoppingDischargeMean REAL NULL,
+ CriticalOvertoppingDischargeCoefficientOfVariation REAL NULL,
+ FlowWidthAtBottomProtectionMean REAL NULL,
+ FlowWidthAtBottomProtectionStandardDeviation REAL NULL,
+ ProbabilityOpenStructureBeforeFlooding REAL NOT NULL,
+ FailureProbabilityOpenStructure REAL NOT NULL,
+ IdenticalApertures INT (4) NOT NULL,
+ FailureProbabilityReparation REAL NOT NULL,
+ InflowModelType TINYINT (1) NOT NULL, -- Enum: 1 = VerticalWall, 2 = LowSill, 3 = FloodedCulvert
+ FailureProbabilityStructureWithErosion REAL NOT NULL,
+ DeviationWaveDirection REAL NULL,
+ DrainCoefficientMean REAL NULL,
+ DrainCoefficientStandardDeviation REAL NULL,
+ ModelFactorSuperCriticalFlowMean REAL NULL,
+ StormDurationMean REAL NULL,
+ FactorStormDurationOpenStructure REAL NULL,
+ ShouldIllustrationPointsBeCalculated TINYINT (1) NOT NULL, -- true or false
+ RelevantForScenario TINYINT (1) NOT NULL, -- true or false
+ ScenarioContribution REAL NOT NULL,
+ CONSTRAINT FK_ClosingStructuresCalculationEntity_CalculationGroupEntity FOREIGN KEY (CalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_ClosingStructuresCalculationEntity_ClosingStructureEntity FOREIGN KEY (ClosingStructureEntityId) REFERENCES ClosingStructureEntity (ClosingStructureEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_ClosingStructuresCalculationEntity_ForeshoreProfileEntity FOREIGN KEY (ForeshoreProfileEntityId) REFERENCES ForeshoreProfileEntity (ForeshoreProfileEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_ClosingStructuresCalculationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Set Null ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE ClosingStructuresOutputEntity
+(
+ ClosingStructuresOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ ClosingStructuresCalculationEntityId INTEGER NOT NULL,
+ GeneralResultFaultTreeIllustrationPointEntityId INTEGER NULL,
+ Reliability REAL NULL,
+ CONSTRAINT FK_ClosingStructuresOutputEntity_ClosingStructuresCalculationEntity FOREIGN KEY (ClosingStructuresCalculationEntityId) REFERENCES ClosingStructuresCalculationEntity (ClosingStructuresCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_ClosingStructuresOutputEntity_GeneralResultFaultTreeIllustrationPointEntity FOREIGN KEY (GeneralResultFaultTreeIllustrationPointEntityId) REFERENCES GeneralResultFaultTreeIllustrationPointEntity (GeneralResultFaultTreeIllustrationPointEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT U_ClosingStructuresCalculationEntity UNIQUE (ClosingStructuresCalculationEntityId)
+)
+;
+
+CREATE TABLE DikeProfileEntity
+(
+ DikeProfileEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ Id VARCHAR (260) NOT NULL,
+ Name VARCHAR (260) NOT NULL,
+ Orientation REAL NULL,
+ BreakWaterType TINYINT (1) NULL, -- Enum: 1 = Wall 2 = Caisson 3 = Dam
+ BreakWaterHeight REAL NULL,
+ ForeshoreXml TEXT NOT NULL COLLATE NOCASE,
+ DikeGeometryXml TEXT NOT NULL COLLATE NOCASE,
+ DikeHeight REAL NULL,
+ X REAL NULL,
+ Y REAL NULL,
+ X0 REAL NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_DikeProfileEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT UQ_DikeProfileEntity_IdFailureMechanismEntityId UNIQUE (Id,FailureMechanismEntityId)
+ )
+;
+
+CREATE TABLE DuneErosionFailureMechanismMetaEntity
+(
+ DuneErosionFailureMechanismMetaEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ CONSTRAINT FK_DuneErosionFailureMechanismMetaEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE DuneLocationCalculationEntity
+(
+ DuneLocationCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ DuneLocationEntityId INTEGER NOT NULL,
+ DuneLocationCalculationForTargetProbabilityCollectionEntityId INTEGER NOT NULL,
+ CONSTRAINT FK_DuneLocationCalculationEntity_DuneLocationCalculationCollectionEntity FOREIGN KEY (DuneLocationCalculationForTargetProbabilityCollectionEntityId) REFERENCES DuneLocationCalculationForTargetProbabilityCollectionEntity (DuneLocationCalculationCollectionEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_DuneLocationCalculationEntity_DuneLocationEntity FOREIGN KEY (DuneLocationEntityId) REFERENCES DuneLocationEntity (DuneLocationEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE DuneLocationCalculationForTargetProbabilityCollectionEntity
+(
+ DuneLocationCalculationCollectionEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ DuneErosionFailureMechanismMetaEntityId INTEGER NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ TargetProbability REAL NOT NULL,
+ CONSTRAINT FK_DuneLocationCalculationForTargetProbabilityCollectionEntity_DuneErosionFailureMechanismMetaEntity FOREIGN KEY (DuneErosionFailureMechanismMetaEntityId) REFERENCES DuneErosionFailureMechanismMetaEntity (DuneErosionFailureMechanismMetaEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE DuneLocationCalculationOutputEntity
+(
+ DuneLocationCalculationOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ DuneLocationCalculationEntityId INTEGER NOT NULL,
+ WaterLevel REAL NULL,
+ WaveHeight REAL NULL,
+ WavePeriod REAL NULL,
+ MeanTidalAmplitude REAL NULL,
+ WaveDirectionalSpread REAL NULL,
+ TideSurgePhaseDifference REAL NULL,
+ TargetProbability REAL NULL,
+ TargetReliability REAL NULL,
+ CalculatedProbability REAL NULL,
+ CalculatedReliability REAL NULL,
+ CalculationConvergence TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculatedNotConverged, 3 = CalculatedConverged
+ CONSTRAINT FK_DuneLocationCalculationOutputEntity_DuneLocationCalculationEntity FOREIGN KEY (DuneLocationCalculationEntityId) REFERENCES DuneLocationCalculationEntity (DuneLocationCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE DuneLocationEntity
+(
+ DuneLocationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ HydraulicLocationEntityId INTEGER NOT NULL,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ Name VARCHAR (260) NOT NULL,
+ CoastalAreaId INT (4) NOT NULL,
+ 'Offset' REAL NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_DuneLocationEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_DuneLocationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE FailureMechanismFailureMechanismSectionEntity
+(
+ FailureMechanismEntityId INTEGER NOT NULL,
+ FailureMechanismSectionEntityId INTEGER NOT NULL,
+ CONSTRAINT PK_FailureMechanismFailureMechanismSectionEntity PRIMARY KEY (FailureMechanismSectionEntityId,FailureMechanismEntityId),
+ CONSTRAINT FK_FailureMechanismFailureMechanismSectionEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_FailureMechanismFailureMechanismSectionEntity_FailureMechanismSectionEntity FOREIGN KEY (FailureMechanismSectionEntityId) REFERENCES FailureMechanismSectionEntity (FailureMechanismSectionEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE FaultTreeIllustrationPointEntity
+(
+ FaultTreeIllustrationPointEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ ParentFaultTreeIllustrationPointEntityId INTEGER NULL,
+ Name TEXT NOT NULL COLLATE NOCASE,
+ Beta REAL NOT NULL,
+ CombinationType TINYINT (1) NOT NULL, -- Enum: 1 = Or, 2 = And
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_FaultTreeIllustrationPoint_FaultTreeIllustrationPoint FOREIGN KEY (ParentFaultTreeIllustrationPointEntityId) REFERENCES FaultTreeIllustrationPointEntity (FaultTreeIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE FaultTreeIllustrationPointStochastEntity
+(
+ FaultTreeIllustrationPointEntityId INTEGER NOT NULL,
+ StochastEntityId INTEGER NOT NULL,
+ CONSTRAINT PK_FaultTreeIllustrationPointStochastEntity PRIMARY KEY (FaultTreeIllustrationPointEntityId,StochastEntityId),
+ CONSTRAINT FK_FaultTreeIllustrationPointStochastEntity_FaultTreeIllustrationPoint FOREIGN KEY (FaultTreeIllustrationPointEntityId) REFERENCES FaultTreeIllustrationPointEntity (FaultTreeIllustrationPointEntityId) ON DELETE No Action ON UPDATE No Action,
+ CONSTRAINT FK_FaultTreeIllustrationPointStochastEntity_StochastEntity FOREIGN KEY (StochastEntityId) REFERENCES StochastEntity (StochastEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE FaultTreeSubmechanismIllustrationPointEntity
+(
+ SubMechanismIllustrationPointEntityId INTEGER NOT NULL,
+ FaultTreeIllustrationPointEntityId INTEGER NOT NULL,
+ CONSTRAINT PK_FaultTreeSubMechanismIllustrationPointEntityId PRIMARY KEY (SubMechanismIllustrationPointEntityId,FaultTreeIllustrationPointEntityId),
+ CONSTRAINT FK_FaultTreeIllustrationPointEntity_FaultTreeIllustrationPointEntity FOREIGN KEY (FaultTreeIllustrationPointEntityId) REFERENCES FaultTreeIllustrationPointEntity (FaultTreeIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_FaultTreeIllustrationPointEntity_SubMechanismIllustrationPointEntity FOREIGN KEY (SubMechanismIllustrationPointEntityId) REFERENCES SubMechanismIllustrationPointEntity (SubMechanismIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE ForeshoreProfileEntity
+(
+ ForeshoreProfileEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ Id VARCHAR (260) NOT NULL,
+ Name VARCHAR (260) NOT NULL,
+ Orientation REAL NULL,
+ BreakWaterType TINYINT (1) NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam
+ BreakWaterHeight REAL NULL,
+ GeometryXml TEXT NOT NULL COLLATE NOCASE,
+ X REAL NULL,
+ Y REAL NULL,
+ X0 REAL NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_ForeshoreProfileEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT UQ_ForeshoreProfileEntity_IdFailureMechanismEntityId UNIQUE (Id,FailureMechanismEntityId)
+ )
+;
+
+CREATE TABLE GeneralResultFaultTreeIllustrationPointEntity
+(
+ GeneralResultFaultTreeIllustrationPointEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ GoverningWindDirectionName TEXT NOT NULL COLLATE NOCASE,
+ GoverningWindDirectionAngle REAL NOT NULL
+)
+;
+
+CREATE TABLE GeneralResultFaultTreeIllustrationPointStochastEntity
+(
+ GeneralResultFaultTreeIllustrationPointEntityId INTEGER NOT NULL,
+ StochastEntityId INTEGER NOT NULL,
+ CONSTRAINT PK_GeneralResultFaultTreeIllustrationPointStochastEntity PRIMARY KEY (GeneralResultFaultTreeIllustrationPointEntityId,StochastEntityId),
+ CONSTRAINT FK_GeneralResultFaultTreeIllustrationPointStochastEntity_GeneralResultFaultTreeIllustrationPointEntity FOREIGN KEY (GeneralResultFaultTreeIllustrationPointEntityId) REFERENCES GeneralResultFaultTreeIllustrationPointEntity (GeneralResultFaultTreeIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_GeneralResultFaultTreeIllustrationPointStochastEntity_StochastEntity FOREIGN KEY (StochastEntityId) REFERENCES StochastEntity (StochastEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE GeneralResultSubMechanismIllustrationPointEntity
+(
+ GeneralResultSubMechanismIllustrationPointEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ GoverningWindDirectionName TEXT NOT NULL COLLATE NOCASE,
+ GoverningWindDirectionAngle REAL NOT NULL
+)
+;
+
+CREATE TABLE GeneralResultSubMechanismIllustrationPointStochastEntity
+(
+ GeneralResultSubMechanismIllustrationPointEntityId INTEGER NOT NULL,
+ StochastEntityId INTEGER NOT NULL,
+ CONSTRAINT PK_GeneralResultSubMechanismIllustrationPointStochastEntity PRIMARY KEY (GeneralResultSubMechanismIllustrationPointEntityId,StochastEntityId),
+ CONSTRAINT FK_GeneralResultSubMechanisIllustrationPointStochastEntity_GeneralResultSubMechanismIllustrationPointEntity FOREIGN KEY (GeneralResultSubMechanismIllustrationPointEntityId) REFERENCES GeneralResultSubMechanismIllustrationPointEntity (GeneralResultSubMechanismIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_GeneralResultSubMechanismIllustrationPointStochastEntity_StochastEntity FOREIGN KEY (StochastEntityId) REFERENCES StochastEntity (StochastEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE GrassCoverErosionInwardsDikeHeightOutputEntity
+(
+ GrassCoverErosionInwardsDikeHeightOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ GrassCoverErosionInwardsOutputEntityId INTEGER NOT NULL,
+ GeneralResultFaultTreeIllustrationPointEntityId INTEGER NULL,
+ DikeHeight REAL NULL,
+ TargetProbability REAL NULL,
+ TargetReliability REAL NULL,
+ CalculatedProbability REAL NULL,
+ CalculatedReliability REAL NULL,
+ CalculationConvergence TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculationNotConverged, 3 = CalculationConverged
+ CONSTRAINT FK_GrassCoverErosionInwardsDikeHeightOutputEntity_GeneralResultFaultTreeIllustrationPointEntity FOREIGN KEY (GeneralResultFaultTreeIllustrationPointEntityId) REFERENCES GeneralResultFaultTreeIllustrationPointEntity (GeneralResultFaultTreeIllustrationPointEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_GrassCoverErosionInwardsDikeHeightOutputEntity_GrassCoverErosionInwardsOutputEntity FOREIGN KEY (GrassCoverErosionInwardsOutputEntityId) REFERENCES GrassCoverErosionInwardsOutputEntity (GrassCoverErosionInwardsOutputEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT U_GrassCoverErosionInwardsOutputEntity UNIQUE (GrassCoverErosionInwardsOutputEntityId)
+)
+;
+
+CREATE TABLE GrassCoverErosionInwardsOutputEntity
+(
+ GrassCoverErosionInwardsOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ GrassCoverErosionInwardsCalculationEntityId INTEGER NOT NULL,
+ GeneralResultFaultTreeIllustrationPointEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ IsOvertoppingDominant TINYINT (1) NOT NULL, -- true or false
+ WaveHeight REAL NULL,
+ Reliability REAL NULL,
+ CONSTRAINT FK_GrassCoverErosionInwardsOutputEntity_GeneralResultFaultTreeIllustrationPointEntity FOREIGN KEY (GeneralResultFaultTreeIllustrationPointEntityId) REFERENCES GeneralResultFaultTreeIllustrationPointEntity (GeneralResultFaultTreeIllustrationPointEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_GrassCoverErosionInwardsOutputEntity_GrassCoverErosionInwardsCalculationEntity FOREIGN KEY (GrassCoverErosionInwardsCalculationEntityId) REFERENCES GrassCoverErosionInwardsCalculationEntity (GrassCoverErosionInwardsCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT U_GrassCoverErosionInwardsCalculationEntity UNIQUE (GrassCoverErosionInwardsCalculationEntityId)
+ )
+;
+
+CREATE TABLE GrassCoverErosionInwardsOvertoppingRateOutputEntity
+(
+ GrassCoverErosionInwardsOvertoppingRateOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ GrassCoverErosionInwardsOutputEntityId INTEGER NOT NULL,
+ GeneralResultFaultTreeIllustrationPointEntityId INTEGER NULL,
+ OvertoppingRate REAL NULL,
+ TargetProbability REAL NULL,
+ TargetReliability REAL NULL,
+ CalculatedProbability REAL NULL,
+ CalculatedReliability REAL NULL,
+ CalculationConvergence TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculationNotConverged, 3 = CalculationConverged
+ CONSTRAINT FK_GrassCoverErosionInwardsOvertoppingRateOutputEntity_GeneralResultFaultTreeIllustrationPointEntity FOREIGN KEY (GeneralResultFaultTreeIllustrationPointEntityId) REFERENCES GeneralResultFaultTreeIllustrationPointEntity (GeneralResultFaultTreeIllustrationPointEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_GrassCoverErosionInwardsOvertoppingRateOutputEntity_GrassCoverErosionInwardsOutputEntity FOREIGN KEY (GrassCoverErosionInwardsOutputEntityId) REFERENCES GrassCoverErosionInwardsOutputEntity (GrassCoverErosionInwardsOutputEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT U_GrassCoverErosionInwardsOutputEntity UNIQUE (GrassCoverErosionInwardsOutputEntityId)
+)
+;
+
+CREATE TABLE GrassCoverErosionOutwardsWaveConditionsCalculationEntity
+(
+ GrassCoverErosionOutwardsWaveConditionsCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ CalculationGroupEntityId INTEGER NOT NULL,
+ ForeshoreProfileEntityId INTEGER NULL,
+ HydraulicLocationEntityId INTEGER NULL,
+ HydraulicLocationCalculationForTargetProbabilityCollectionEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NULL,
+ Comments TEXT NULL COLLATE NOCASE,
+ UseBreakWater TINYINT (1) NOT NULL, -- true or false
+ BreakWaterType TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam
+ BreakWaterHeight REAL NULL,
+ UseForeshore TINYINT (1) NOT NULL, -- true or false
+ Orientation REAL NULL,
+ UpperBoundaryRevetment REAL NULL,
+ LowerBoundaryRevetment REAL NULL,
+ UpperBoundaryWaterLevels REAL NULL,
+ LowerBoundaryWaterLevels REAL NULL,
+ StepSize REAL NOT NULL,
+ CalculationType TINYINT (1) NOT NULL, -- Enum: 1 = WaveRunUp 2 = WaveImpact 3 = WaveRunUpAndWaveImpact 4 = WaveImpactWithWaveDirection 5 = WaveRunUpAndWaveImpactWithWaveDirection 6 = All
+ WaterLevelType TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = MaximumAllowableFloodingProbability, 3 = SignalFloodingProbability, 4 = UserDefinedTargetProbability
+ CONSTRAINT FK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_CalculationGroupEntity FOREIGN KEY (CalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_ForeshoreProfileEntity FOREIGN KEY (ForeshoreProfileEntityId) REFERENCES ForeshoreProfileEntity (ForeshoreProfileEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_HydraulicLocationCalculationForTargetProbabilityCollectionEntity FOREIGN KEY (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId) REFERENCES HydraulicLocationCalculationForTargetProbabilityCollectionEntity (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Set Null ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE GrassCoverErosionOutwardsWaveConditionsOutputEntity
+(
+ GrassCoverErosionOutwardsWaveConditionsOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ GrassCoverErosionOutwardsWaveConditionsCalculationEntityId INTEGER NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ OutputType TINYINT (1) NOT NULL, -- Enum: 1 = WaveRunUp 2 = WaveImpact 3 = WaveImpactWithWaveDirection
+ WaterLevel REAL NULL,
+ WaveHeight REAL NULL,
+ WavePeakPeriod REAL NULL,
+ WaveAngle REAL NULL,
+ WaveDirection REAL NULL,
+ TargetProbability REAL NULL,
+ TargetReliability REAL NULL,
+ CalculatedProbability REAL NULL,
+ CalculatedReliability REAL NULL,
+ CalculationConvergence TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculationNotConverged, 3 = CalculationConverged
+ CONSTRAINT FK_GrassCoverErosionOutwardsWaveConditionsOutputEntity_GrassCoverErosionOutwardsWaveConditionsCalculationEntity FOREIGN KEY (GrassCoverErosionOutwardsWaveConditionsCalculationEntityId) REFERENCES GrassCoverErosionOutwardsWaveConditionsCalculationEntity (GrassCoverErosionOutwardsWaveConditionsCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE HeightStructureEntity
+(
+ HeightStructureEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NOT NULL,
+ Id VARCHAR (260) NOT NULL,
+ X REAL NULL,
+ Y REAL NULL,
+ StructureNormalOrientation REAL NULL,
+ LevelCrestStructureMean REAL NULL,
+ LevelCrestStructureStandardDeviation REAL NULL,
+ FlowWidthAtBottomProtectionMean REAL NULL,
+ FlowWidthAtBottomProtectionStandardDeviation REAL NULL,
+ CriticalOvertoppingDischargeMean REAL NULL,
+ CriticalOvertoppingDischargeCoefficientOfVariation REAL NULL,
+ WidthFlowAperturesMean REAL NULL,
+ WidthFlowAperturesStandardDeviation REAL NULL,
+ FailureProbabilityStructureWithErosion REAL NULL,
+ StorageStructureAreaMean REAL NULL,
+ StorageStructureAreaCoefficientOfVariation REAL NULL,
+ AllowedLevelIncreaseStorageMean REAL NULL,
+ AllowedLevelIncreaseStorageStandardDeviation REAL NULL,
+ CONSTRAINT FK_HeightStructure_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT U_Id_FailureMechanismEntityId UNIQUE (FailureMechanismEntityId,Id)
+ )
+;
+
+CREATE TABLE HeightStructuresCalculationEntity
+(
+ HeightStructuresCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ CalculationGroupEntityId INTEGER NOT NULL,
+ HydraulicLocationEntityId INTEGER NULL,
+ HeightStructureEntityId INTEGER NULL,
+ ForeshoreProfileEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NULL,
+ Comments TEXT NULL COLLATE NOCASE,
+ ModelFactorSuperCriticalFlowMean REAL NULL,
+ StructureNormalOrientation REAL NULL,
+ AllowedLevelIncreaseStorageMean REAL NULL,
+ AllowedLevelIncreaseStorageStandardDeviation REAL NULL,
+ StorageStructureAreaMean REAL NULL,
+ StorageStructureAreaCoefficientOfVariation REAL NULL,
+ FlowWidthAtBottomProtectionMean REAL NULL,
+ FlowWidthAtBottomProtectionStandardDeviation REAL NULL,
+ CriticalOvertoppingDischargeMean REAL NULL,
+ CriticalOvertoppingDischargeCoefficientOfVariation REAL NULL,
+ FailureProbabilityStructureWithErosion REAL NOT NULL,
+ WidthFlowAperturesMean REAL NULL,
+ WidthFlowAperturesStandardDeviation REAL NULL,
+ StormDurationMean REAL NULL,
+ LevelCrestStructureMean REAL NULL,
+ LevelCrestStructureStandardDeviation REAL NULL,
+ DeviationWaveDirection REAL NULL,
+ UseBreakWater TINYINT (1) NOT NULL, -- true or false
+ UseForeshore TINYINT (1) NOT NULL, -- true or false
+ BreakWaterType TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam
+ BreakWaterHeight REAL NULL,
+ ShouldIllustrationPointsBeCalculated TINYINT (1) NOT NULL, -- true or false
+ RelevantForScenario TINYINT (1) NOT NULL, -- true or false
+ ScenarioContribution REAL NOT NULL,
+ CONSTRAINT FK_HeightStructuresCalculationEntity_CalculationGroupEntity FOREIGN KEY (CalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_HeightStructuresCalculationEntity_ForeshoreProfileEntity FOREIGN KEY (ForeshoreProfileEntityId) REFERENCES ForeshoreProfileEntity (ForeshoreProfileEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_HeightStructuresCalculationEntity_HeightStructureEntity FOREIGN KEY (HeightStructureEntityId) REFERENCES HeightStructureEntity (HeightStructureEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_HeightStructuresCalculationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Set Null ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE HeightStructuresFailureMechanismMetaEntity
+(
+ HeightStructuresFailureMechanismMetaEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ HeightStructureCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ ForeshoreProfileCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ CONSTRAINT FK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE HeightStructuresOutputEntity
+(
+ HeightStructuresOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ HeightStructuresCalculationEntityId INTEGER NOT NULL,
+ GeneralResultFaultTreeIllustrationPointEntityId INTEGER NULL,
+ Reliability REAL NULL,
+ CONSTRAINT FK_HeightStructuresOutputEntity_GeneralResultFaultTreeIllustrationPointEntity FOREIGN KEY (GeneralResultFaultTreeIllustrationPointEntityId) REFERENCES GeneralResultFaultTreeIllustrationPointEntity (GeneralResultFaultTreeIllustrationPointEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_HeightStructuresOutputEntity_HeightStructuresCalculationEntity FOREIGN KEY (HeightStructuresCalculationEntityId) REFERENCES HeightStructuresCalculationEntity (HeightStructuresCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT U_HeightStructuresCalculationEntity UNIQUE (HeightStructuresCalculationEntityId)
+)
+;
+
+CREATE TABLE HydraulicBoundaryDatabaseEntity
+(
+ HydraulicBoundaryDatabaseEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ HydraulicBoundaryDataEntityId INTEGER NOT NULL,
+ Version TEXT NOT NULL COLLATE NOCASE,
+ FilePath TEXT NOT NULL COLLATE NOCASE,
+ UsePreprocessorClosure TINYINT (1) NOT NULL, -- True or false
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_HydraulicBoundaryDatabaseEntity_HydraulicBoundaryDataEntity FOREIGN KEY (HydraulicBoundaryDataEntityId) REFERENCES HydraulicBoundaryDataEntity (HydraulicBoundaryDataEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE HydraulicBoundaryDataEntity
+(
+ HydraulicBoundaryDataEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ AssessmentSectionEntityId INTEGER NOT NULL,
+ HydraulicLocationConfigurationDatabaseFilePath TEXT NOT NULL COLLATE NOCASE,
+ HydraulicLocationConfigurationDatabaseScenarioName TEXT NOT NULL COLLATE NOCASE,
+ HydraulicLocationConfigurationDatabaseYear INT (4) NOT NULL,
+ HydraulicLocationConfigurationDatabaseScope TEXT NOT NULL COLLATE NOCASE,
+ HydraulicLocationConfigurationDatabaseSeaLevel TEXT NULL COLLATE NOCASE,
+ HydraulicLocationConfigurationDatabaseRiverDischarge TEXT NULL COLLATE NOCASE,
+ HydraulicLocationConfigurationDatabaseLakeLevel TEXT NULL COLLATE NOCASE,
+ HydraulicLocationConfigurationDatabaseWindDirection TEXT NULL COLLATE NOCASE,
+ HydraulicLocationConfigurationDatabaseWindSpeed TEXT NULL COLLATE NOCASE,
+ HydraulicLocationConfigurationDatabaseComment TEXT NULL COLLATE NOCASE,
+ CONSTRAINT FK_HydraulicBoundaryDatabaseEntity_AssessmentSectionEntity FOREIGN KEY (AssessmentSectionEntityId) REFERENCES AssessmentSectionEntity (AssessmentSectionEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE HydraulicLocationCalculationCollectionEntity
+(
+ HydraulicLocationCalculationCollectionEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT
+)
+;
+
+CREATE TABLE HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity
+(
+ HydraulicLocationCalculationCollectionEntityId INTEGER NOT NULL,
+ HydraulicLocationCalculationEntityId INTEGER NOT NULL,
+ CONSTRAINT PK_HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity PRIMARY KEY (HydraulicLocationCalculationCollectionEntityId,HydraulicLocationCalculationEntityId),
+ CONSTRAINT HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity_HydraulicLocationCalculationCollectionEntityId FOREIGN KEY (HydraulicLocationCalculationCollectionEntityId) REFERENCES HydraulicLocationCalculationCollectionEntity (HydraulicLocationCalculationCollectionEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT HydraulicLocationCalculationEntityId FOREIGN KEY (HydraulicLocationCalculationEntityId) REFERENCES HydraulicLocationCalculationEntity (HydraulicLocationCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE HydraulicLocationCalculationEntity
+(
+ HydraulicLocationCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ HydraulicLocationEntityId INTEGER NOT NULL,
+ ShouldIllustrationPointsBeCalculated TINYINT (1) NOT NULL, -- True or false
+ CONSTRAINT FK_HydraulicLocationCalculationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE HydraulicLocationCalculationForTargetProbabilityCollectionEntity
+(
+ HydraulicLocationCalculationForTargetProbabilityCollectionEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ AssessmentSectionEntityId INTEGER NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ HydraulicBoundaryLocationCalculationType TINYINT (1) NOT NULL, -- Enum: 1 = Waterlevel 2 = Waveheight
+ TargetProbability REAL NOT NULL,
+ CONSTRAINT FK_HydraulicBoundaryLocationCalculationsForTargetProbabilityEntity_AssessmentSectionEntity FOREIGN KEY (AssessmentSectionEntityId) REFERENCES AssessmentSectionEntity (AssessmentSectionEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE HydraulicLocationCalculationForTargetProbabilityCollectionHydraulicLocationCalculationEntity
+(
+ HydraulicLocationCalculationForTargetProbabilityCollectionEntityId INTEGER NOT NULL,
+ HydraulicLocationCalculationEntityId INTEGER NOT NULL,
+ CONSTRAINT PK_HydraulicBoundaryLocationCalculationsForTargetProbabilityHydraulicLocationCalculationEntity PRIMARY KEY (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId,HydraulicLocationCalculationEntityId),
+ CONSTRAINT HydraulicBoundaryLocationCalculationsForTargetProbabilityHydraulicLocationCalculationEntity_HydraulicBoundaryLocationCalculationsForTargetProbabilityEntityId FOREIGN KEY (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId) REFERENCES HydraulicLocationCalculationForTargetProbabilityCollectionEntity (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT HydraulicBoundaryLocationCalculationsForTargetProbabilityHydraulicLocationCalculationEntity_HydraulicLocationCalculationEntityId FOREIGN KEY (HydraulicLocationCalculationEntityId) REFERENCES HydraulicLocationCalculationEntity (HydraulicLocationCalculationEntityId) ON DELETE No Action ON UPDATE No Action
+)
+;
+
+CREATE TABLE HydraulicLocationOutputEntity
+(
+ HydraulicLocationOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ HydraulicLocationCalculationEntityId INTEGER NOT NULL,
+ GeneralResultSubMechanismIllustrationPointEntityId INTEGER NULL,
+ Result REAL NULL,
+ TargetProbability REAL NULL,
+ TargetReliability REAL NULL,
+ CalculatedProbability REAL NULL,
+ CalculatedReliability REAL NULL,
+ CalculationConvergence TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculatedNotConverged, 3 = CalculatedConverged
+ CONSTRAINT FK_HydraulicLocationOutputEntity_GeneralResultSubMechanismIllustrationPointEntity FOREIGN KEY (GeneralResultSubMechanismIllustrationPointEntityId) REFERENCES GeneralResultSubMechanismIllustrationPointEntity (GeneralResultSubMechanismIllustrationPointEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_HydraulicLocationOutputEntity_HydraulicLocationCalculationEntity FOREIGN KEY (HydraulicLocationCalculationEntityId) REFERENCES HydraulicLocationCalculationEntity (HydraulicLocationCalculationEntityId) ON DELETE Set Null ON UPDATE Cascade
+)
+;
+
+CREATE TABLE IllustrationPointResultEntity
+(
+ IllustrationPointResultEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ SubMechanismIllustrationPointEntityId INTEGER NOT NULL,
+ Description TEXT NOT NULL COLLATE NOCASE,
+ Unit TEXT NOT NULL COLLATE NOCASE,
+ Value REAL NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_IllustrationPointResultEntity_SubMechanismIllustrationPointEntity FOREIGN KEY (SubMechanismIllustrationPointEntityId) REFERENCES SubMechanismIllustrationPointEntity (SubMechanismIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE MacroStabilityInwardsCalculationEntity
+(
+ MacroStabilityInwardsCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ CalculationGroupEntityId INTEGER NOT NULL,
+ SurfaceLineEntityId INTEGER NULL,
+ MacroStabilityInwardsStochasticSoilProfileEntityId INTEGER NULL,
+ HydraulicLocationEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NULL,
+ Comment TEXT NULL COLLATE NOCASE,
+ RelevantForScenario TINYINT (1) NOT NULL, -- true or false
+ ScenarioContribution REAL NOT NULL,
+ AssessmentLevel REAL NULL,
+ UseAssessmentLevelManualInput TINYINT (1) NOT NULL, -- true or false
+ SlipPlaneMinimumDepth REAL NULL,
+ SlipPlaneMinimumLength REAL NULL,
+ MaximumSliceWidth REAL NULL,
+ MoveGrid TINYINT (1) NOT NULL, -- true or false
+ GridDeterminationType TINYINT (1) NOT NULL, -- Enumtype: 1 = Automatic, 2 = Manual
+ TangentLineDeterminationType TINYINT (1) NOT NULL, -- Enumtype: 1 = Specified, 2 = LayerSeparated
+ TangentLineZTop REAL NULL,
+ TangentLineZBottom REAL NULL,
+ TangentLineNumber INT (4) NOT NULL,
+ LeftGridXLeft REAL NULL,
+ LeftGridXRight REAL NULL,
+ LeftGridNrOfHorizontalPoints INT (4) NOT NULL,
+ LeftGridZTop REAL NULL,
+ LeftGridZBottom REAL NULL,
+ LeftGridNrOfVerticalPoints INT (4) NOT NULL,
+ RightGridXLeft REAL NULL,
+ RightGridXRight REAL NULL,
+ RightGridNrOfHorizontalPoints INT (4) NOT NULL,
+ RightGridZTop REAL NULL,
+ RightGridZBottom REAL NULL,
+ RightGridNrOfVerticalPoints INT (4) NOT NULL,
+ DikeSoilScenario TINYINT (1) NOT NULL, -- Enumtype: 1 = ClayDikeOnClay, 2 = SandDikeOnClay, 3 = ClayDikeOnSand, 4 = SandDikeOnSand
+ WaterLevelRiverAverage REAL NULL,
+ DrainageConstructionPresent TINYINT (1) NOT NULL, -- true or false
+ DrainageConstructionCoordinateX REAL NULL,
+ DrainageConstructionCoordinateZ REAL NULL,
+ MinimumLevelPhreaticLineAtDikeTopRiver REAL NULL,
+ MinimumLevelPhreaticLineAtDikeTopPolder REAL NULL,
+ AdjustPhreaticLine3And4ForUplift TINYINT (1) NOT NULL, -- true or false
+ LeakageLengthOutwardsPhreaticLine3 REAL NULL,
+ LeakageLengthInwardsPhreaticLine3 REAL NULL,
+ LeakageLengthOutwardsPhreaticLine4 REAL NULL,
+ LeakageLengthInwardsPhreaticLine4 REAL NULL,
+ PiezometricHeadPhreaticLine2Outwards REAL NULL,
+ PiezometricHeadPhreaticLine2Inwards REAL NULL,
+ LocationInputExtremeWaterLevelPolder REAL NULL,
+ LocationInputExtremeUseDefaultOffsets TINYINT (1) NOT NULL, -- true or false
+ LocationInputExtremePhreaticLineOffsetBelowDikeTopAtRiver REAL NULL,
+ LocationInputExtremePhreaticLineOffsetBelowDikeTopAtPolder REAL NULL,
+ LocationInputExtremePhreaticLineOffsetBelowShoulderBaseInside REAL NULL,
+ LocationInputExtremePhreaticLineOffsetDikeToeAtPolder REAL NULL,
+ LocationInputExtremePenetrationLength REAL NULL,
+ LocationInputDailyWaterLevelPolder REAL NULL,
+ LocationInputDailyUseDefaultOffsets TINYINT (1) NOT NULL, -- true or false
+ LocationInputDailyPhreaticLineOffsetBelowDikeTopAtRiver REAL NULL,
+ LocationInputDailyPhreaticLineOffsetBelowDikeTopAtPolder REAL NULL,
+ LocationInputDailyPhreaticLineOffsetBelowShoulderBaseInside REAL NULL,
+ LocationInputDailyPhreaticLineOffsetDikeToeAtPolder REAL NULL,
+ CreateZones TINYINT (1) NOT NULL, -- true or false
+ ZoningBoundariesDeterminationType TINYINT (1) NOT NULL, -- Enumtype: 1 = Automatic 2 = Manual
+ ZoneBoundaryLeft REAL NULL,
+ ZoneBoundaryRight REAL NULL,
+ CONSTRAINT FK_MacroStabilityInwardsCalculationEntity_CalculationGroupEntity FOREIGN KEY (CalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_MacroStabilityInwardsCalculationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_MacroStabilityInwardsCalculationEntity_MacroStabilityInwardsStochasticSoilProfileEntity FOREIGN KEY (MacroStabilityInwardsStochasticSoilProfileEntityId) REFERENCES MacroStabilityInwardsStochasticSoilProfileEntity (MacroStabilityInwardsStochasticSoilProfileEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_MacroStabilityInwardsCalculationEntity_SurfaceLineEntity FOREIGN KEY (SurfaceLineEntityId) REFERENCES SurfaceLineEntity (SurfaceLineEntityId) ON DELETE Set Null ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE MacroStabilityInwardsCalculationOutputEntity
+(
+ MacroStabilityInwardsCalculationOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ MacroStabilityInwardsCalculationEntityId INTEGER NOT NULL,
+ FactorOfStability REAL NULL,
+ ForbiddenZonesXEntryMin REAL NULL,
+ ForbiddenZonesXEntryMax REAL NULL,
+ SlidingCurveLeftSlidingCircleCenterX REAL NULL,
+ SlidingCurveLeftSlidingCircleCenterY REAL NULL,
+ SlidingCurveLeftSlidingCircleRadius REAL NULL,
+ SlidingCurveLeftSlidingCircleIsActive TINYINT (1) NOT NULL, -- true or false
+ SlidingCurveLeftSlidingCircleNonIteratedForce REAL NULL,
+ SlidingCurveLeftSlidingCircleIteratedForce REAL NULL,
+ SlidingCurveLeftSlidingCircleDrivingMoment REAL NULL,
+ SlidingCurveLeftSlidingCircleResistingMoment REAL NULL,
+ SlidingCurveRightSlidingCircleCenterX REAL NULL,
+ SlidingCurveRightSlidingCircleCenterY REAL NULL,
+ SlidingCurveRightSlidingCircleRadius REAL NULL,
+ SlidingCurveRightSlidingCircleIsActive TINYINT (1) NOT NULL, -- true or false
+ SlidingCurveRightSlidingCircleNonIteratedForce REAL NULL,
+ SlidingCurveRightSlidingCircleIteratedForce REAL NULL,
+ SlidingCurveRightSlidingCircleDrivingMoment REAL NULL,
+ SlidingCurveRightSlidingCircleResistingMoment REAL NULL,
+ SlidingCurveNonIteratedHorizontalForce REAL NULL,
+ SlidingCurveIteratedHorizontalForce REAL NULL,
+ SlidingCurveSliceXML TEXT NOT NULL COLLATE NOCASE, -- XML representation of MacroStabilityInwardsSlice
+ SlipPlaneLeftGridXLeft REAL NULL,
+ SlipPlaneLeftGridXRight REAL NULL,
+ SlipPlaneLeftGridNrOfHorizontalPoints INT (4) NOT NULL,
+ SlipPlaneLeftGridZTop REAL NULL,
+ SlipPlaneLeftGridZBottom REAL NULL,
+ SlipPlaneLeftGridNrOfVerticalPoints INT (4) NOT NULL,
+ SlipPlaneRightGridXLeft REAL NULL,
+ SlipPlaneRightGridXRight REAL NULL,
+ SlipPlaneRightGridNrOfHorizontalPoints INT (4) NOT NULL,
+ SlipPlaneRightGridZTop REAL NULL,
+ SlipPlaneRightGridZBottom REAL NULL,
+ SlipPlaneRightGridNrOfVerticalPoints INT (4) NOT NULL,
+ SlipPlaneTangentLinesXml TEXT NOT NULL COLLATE NOCASE, -- XML representation of TangentLines
+ CONSTRAINT FK_MacroStabilityInwardsCalculationOutput_MacroStabilityInwardsCalculationEntity FOREIGN KEY (MacroStabilityInwardsCalculationEntityId) REFERENCES MacroStabilityInwardsCalculationEntity (MacroStabilityInwardsCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE MacroStabilityInwardsCharacteristicPointEntity
+(
+ MacroStabilityInwardsCharacteristicPointEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ SurfaceLineEntityId INTEGER NOT NULL,
+ Type SMALLINT NOT NULL, -- Enumtype: 1 = SurfaceLevelOutside 2 = DikeTopAtRiver 3 = DikeToeAtRiver 4 = DikeTopAtPolder 5 = ShoulderBaseInside 6 = ShoulderTopInside 7 = DikeToeAtPolder 8 = DitchDikeSide 9 = BottomDitchDikeSide 10 = BottomDitchPolderSide 11 = DitchPolderSide 12 = SurfaceLevelInside
+ X REAL NULL,
+ Y REAL NULL,
+ Z REAL NULL,
+ CONSTRAINT FK_MacroStabilityInwardsCharacteristicPointEntity_SurfaceLineEntity FOREIGN KEY (SurfaceLineEntityId) REFERENCES SurfaceLineEntity (SurfaceLineEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE MacroStabilityInwardsFailureMechanismMetaEntity
+(
+ MacroStabilityInwardsFailureMechanismMetaEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ StochasticSoilModelCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ SurfaceLineCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ CONSTRAINT FK_MacroStabilityInwardsFailureMechanismMetaEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE MacroStabilityInwardsFailureMechanismSectionConfigurationEntity
+(
+ MacroStabilityInwardsFailureMechanismSectionConfigurationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismSectionEntityId INTEGER NOT NULL,
+ A REAL NOT NULL,
+ CONSTRAINT FK_MacroStabilityInwardsFailureMechanismSectionConfigurationEntity_FailureMechanismSectionEntity FOREIGN KEY (FailureMechanismSectionEntityId) REFERENCES FailureMechanismSectionEntity (FailureMechanismSectionEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE MacroStabilityInwardsPreconsolidationStressEntity
+(
+ MacroStabilityInwardsPreconsolidationStressEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ MacroStabilityInwardsSoilProfileTwoDEntityId INTEGER NOT NULL,
+ CoordinateX REAL NOT NULL,
+ CoordinateZ REAL NOT NULL,
+ PreconsolidationStressMean REAL NULL,
+ PreconsolidationStressCoefficientOfVariation REAL NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_MacroStabilityInwardsPreconsolidationStressEntity_MacroStabilityInwardsSoilProfileTwoDEntity FOREIGN KEY (MacroStabilityInwardsSoilProfileTwoDEntityId) REFERENCES MacroStabilityInwardsSoilProfileTwoDEntity (MacroStabilityInwardsSoilProfileTwoDEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE MacroStabilityInwardsSoilLayerOneDEntity
+(
+ MacroStabilityInwardsSoilLayerOneDEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ MacroStabilityInwardsSoilProfileOneDEntityId INTEGER NOT NULL,
+ Top REAL NULL,
+ IsAquifer TINYINT (1) NOT NULL, -- true or false
+ Color INTEGER NULL, -- ARGB value of Color.
+ MaterialName TEXT NOT NULL COLLATE NOCASE,
+ ShearStrengthModel TINYINT (1) NOT NULL, -- Enumtype: 1 = SuCalculated, 2 = CPhi, 3 = CPhiOrSuCalculated
+ UsePop TINYINT (1) NOT NULL, -- true of false
+ AbovePhreaticLevelMean REAL NULL,
+ AbovePhreaticLevelCoefficientOfVariation REAL NULL,
+ AbovePhreaticLevelShift REAL NULL,
+ BelowPhreaticLevelMean REAL NULL,
+ BelowPhreaticLevelCoefficientOfVariation REAL NULL,
+ BelowPhreaticLevelShift REAL NULL,
+ CohesionMean REAL NULL,
+ CohesionCoefficientOfVariation REAL NULL,
+ FrictionAngleMean REAL NULL,
+ FrictionAngleCoefficientOfVariation REAL NULL,
+ ShearStrengthRatioMean REAL NULL,
+ ShearStrengthRatioCoefficientOfVariation REAL NULL,
+ StrengthIncreaseExponentMean REAL NULL,
+ StrengthIncreaseExponentCoefficientOfVariation REAL NULL,
+ PopMean REAL NULL,
+ PopCoefficientOfVariation REAL NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_MacroStabilityInwardsSoilLayerOneDEntity_MacroStabilityInwardsSoilProfileOneDEntity FOREIGN KEY (MacroStabilityInwardsSoilProfileOneDEntityId) REFERENCES MacroStabilityInwardsSoilProfileOneDEntity (MacroStabilityInwardsSoilProfileOneDEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE MacroStabilityInwardsSoilLayerTwoDEntity
+(
+ MacroStabilityInwardsSoilLayerTwoDEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ ParentMacroStabilityInwardsSoilLayerTwoDEntityId INTEGER NULL,
+ IsAquifer TINYINT (1) NOT NULL, -- true or false
+ Color INTEGER NULL, -- ARGB value of Color.
+ MaterialName TEXT NOT NULL COLLATE NOCASE,
+ ShearStrengthModel TINYINT (1) NOT NULL, -- Enumtype: 1 = SuCalculated, 2 = CPhi, 3 = CPhiOrSuCalculated
+ UsePop TINYINT (1) NOT NULL, -- true of false
+ AbovePhreaticLevelMean REAL NULL,
+ AbovePhreaticLevelCoefficientOfVariation REAL NULL,
+ AbovePhreaticLevelShift REAL NULL,
+ BelowPhreaticLevelMean REAL NULL,
+ BelowPhreaticLevelCoefficientOfVariation REAL NULL,
+ BelowPhreaticLevelShift REAL NULL,
+ CohesionMean REAL NULL,
+ CohesionCoefficientOfVariation REAL NULL,
+ FrictionAngleMean REAL NULL,
+ FrictionAngleCoefficientOfVariation REAL NULL,
+ ShearStrengthRatioMean REAL NULL,
+ ShearStrengthRatioCoefficientOfVariation REAL NULL,
+ StrengthIncreaseExponentMean REAL NULL,
+ StrengthIncreaseExponentCoefficientOfVariation REAL NULL,
+ PopMean REAL NULL,
+ PopCoefficientOfVariation REAL NULL,
+ OuterRingXml TEXT NOT NULL COLLATE NOCASE,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_MacroStabilityInwardsSoilLayerTwoDEntity_MacroStabilityInwardsSoilLayerTwoDEntity FOREIGN KEY (ParentMacroStabilityInwardsSoilLayerTwoDEntityId) REFERENCES MacroStabilityInwardsSoilLayerTwoDEntity (MacroStabilityInwardsSoilLayerTwoDEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE MacroStabilityInwardsSoilProfileOneDEntity
+(
+ MacroStabilityInwardsSoilProfileOneDEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ Name TEXT NOT NULL COLLATE NOCASE,
+ Bottom REAL NULL
+)
+;
+
+CREATE TABLE MacroStabilityInwardsSoilProfileTwoDEntity
+(
+ MacroStabilityInwardsSoilProfileTwoDEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ Name TEXT NOT NULL COLLATE NOCASE
+)
+;
+
+CREATE TABLE MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity
+(
+ MacroStabilityInwardsSoilProfileTwoDEntityId INTEGER NOT NULL,
+ MacroStabilityInwardsSoilLayerTwoDEntityId INTEGER NOT NULL,
+ CONSTRAINT PK_MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity PRIMARY KEY (MacroStabilityInwardsSoilProfileTwoDEntityId,MacroStabilityInwardsSoilLayerTwoDEntityId),
+ CONSTRAINT FK_MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity_MacroStabilityInwardsSoilLayerTwoDEntity FOREIGN KEY (MacroStabilityInwardsSoilLayerTwoDEntityId) REFERENCES MacroStabilityInwardsSoilLayerTwoDEntity (MacroStabilityInwardsSoilLayerTwoDEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity_MacroStabilityInwardsSoilProfileTwoDEntity FOREIGN KEY (MacroStabilityInwardsSoilProfileTwoDEntityId) REFERENCES MacroStabilityInwardsSoilProfileTwoDEntity (MacroStabilityInwardsSoilProfileTwoDEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE MacroStabilityInwardsStochasticSoilProfileEntity
+(
+ MacroStabilityInwardsStochasticSoilProfileEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ StochasticSoilModelEntityId INTEGER NOT NULL,
+ MacroStabilityInwardsSoilProfileOneDEntityId INTEGER NULL,
+ MacroStabilityInwardsSoilProfileTwoDEntityId INTEGER NULL,
+ Probability REAL NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_MacroStabilityInwardsStochasticSoilProfileEntity_MacroStabilityInwardsSoilProfileOneDEntity FOREIGN KEY (MacroStabilityInwardsSoilProfileOneDEntityId) REFERENCES MacroStabilityInwardsSoilProfileOneDEntity (MacroStabilityInwardsSoilProfileOneDEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_MacroStabilityInwardsStochasticSoilProfileEntity_MacroStabilityInwardsSoilProfileTwoDEntity FOREIGN KEY (MacroStabilityInwardsSoilProfileTwoDEntityId) REFERENCES MacroStabilityInwardsSoilProfileTwoDEntity (MacroStabilityInwardsSoilProfileTwoDEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_MacroStabilityInwardsStochasticSoilProfileEntity_StochasticSoilModelEntity FOREIGN KEY (StochasticSoilModelEntityId) REFERENCES StochasticSoilModelEntity (StochasticSoilModelEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE NonAdoptableFailureMechanismSectionResultEntity
+(
+ NonAdoptableFailureMechanismSectionResultEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismSectionEntityId INTEGER NOT NULL,
+ IsRelevant TINYINT (1) NOT NULL, -- true or false
+ InitialFailureMechanismResultType TINYINT (1) NOT NULL, -- Enum: Manual = 1, NoFailureProbability = 2
+ ManualInitialFailureMechanismResultSectionProbability REAL NULL,
+ FurtherAnalysisType TINYINT (1) NOT NULL, -- Enum: NotNecessary = 1 Necessary = 2 Executed = 3
+ RefinedSectionProbability REAL NULL,
+ CONSTRAINT FK_NonAdoptableFailureMechanismSectionResultEntity_FailureMechanismSectionEntity FOREIGN KEY (FailureMechanismSectionEntityId) REFERENCES FailureMechanismSectionEntity (FailureMechanismSectionEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE PipingFailureMechanismMetaEntity
+(
+ PipingFailureMechanismMetaEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ WaterVolumetricWeight REAL NOT NULL,
+ StochasticSoilModelCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ SurfaceLineCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ ScenarioConfigurationType TINYINT (1) NOT NULL, -- Enum: SemiProbabilistic = 1 Probabilistic = 2 PerFailureMechanismSection = 3
+ CONSTRAINT FK_PipingFailureMechanismMetaEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE ProbabilisticPipingCalculationEntity
+(
+ ProbabilisticPipingCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ CalculationGroupEntityId INTEGER NOT NULL,
+ SurfaceLineEntityId INTEGER NULL,
+ PipingStochasticSoilProfileEntityId INTEGER NULL,
+ HydraulicLocationEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NULL,
+ Comments TEXT NULL COLLATE NOCASE,
+ EntryPointL REAL NULL,
+ ExitPointL REAL NULL,
+ PhreaticLevelExitMean REAL NULL,
+ PhreaticLevelExitStandardDeviation REAL NULL,
+ DampingFactorExitMean REAL NULL,
+ DampingFactorExitStandardDeviation REAL NULL,
+ RelevantForScenario TINYINT (1) NOT NULL, -- true or false
+ ScenarioContribution REAL NOT NULL,
+ ShouldProfileSpecificIllustrationPointsBeCalculated TINYINT (1) NOT NULL, -- true or false
+ ShouldSectionSpecificIllustrationPointsBeCalculated TINYINT (1) NOT NULL, -- true or false
+ CONSTRAINT FK_ProbabilisticPipingCalculationEntity_CalculationGroupEntity FOREIGN KEY (CalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_ProbabilisticPipingCalculationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_ProbabilisticPipingCalculationEntity_PipingStochasticSoilProfileEntity FOREIGN KEY (PipingStochasticSoilProfileEntityId) REFERENCES PipingStochasticSoilProfileEntity (PipingStochasticSoilProfileEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_ProbabilisticPipingCalculationEntity_SurfaceLineEntity FOREIGN KEY (SurfaceLineEntityId) REFERENCES SurfaceLineEntity (SurfaceLineEntityId) ON DELETE Set Null ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE ProbabilisticPipingCalculationOutputEntity
+(
+ ProbabilisticPipingCalculationOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ ProbabilisticPipingCalculationEntityId INTEGER NOT NULL,
+ ProfileSpecificGeneralResultFaultTreeIllustrationPointEntityId INTEGER NULL,
+ SectionSpecificGeneralResultFaultTreeIllustrationPointEntityId INTEGER NULL,
+ ProfileSpecificGeneralResultSubMechanismIllustrationPointEntityId INTEGER NULL,
+ SectionSpecificGeneralResultSubMechanismIllustrationPointEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ ProfileSpecificReliability REAL NULL,
+ SectionSpecificReliability REAL NULL,
+ CONSTRAINT FK_ProbabilisticPipingCalculationOutputEntity_ProbabilisticPipingCalculationEntity FOREIGN KEY (ProbabilisticPipingCalculationEntityId) REFERENCES ProbabilisticPipingCalculationEntity (ProbabilisticPipingCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_ProbabilisticPipingCalculationOutputEntity_Profile_GeneralResultFaultTreeIllustrationPointEntity FOREIGN KEY (ProfileSpecificGeneralResultFaultTreeIllustrationPointEntityId) REFERENCES GeneralResultFaultTreeIllustrationPointEntity (GeneralResultFaultTreeIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_ProbabilisticPipingCalculationOutputEntity_Profile_GeneralResultSubMechanismIllustrationPointEntity FOREIGN KEY (ProfileSpecificGeneralResultSubMechanismIllustrationPointEntityId) REFERENCES GeneralResultSubMechanismIllustrationPointEntity (GeneralResultSubMechanismIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_ProbabilisticPipingCalculationOutputEntity_Section_GeneralResultFaultTreeIllustrationPointEntity FOREIGN KEY (SectionSpecificGeneralResultFaultTreeIllustrationPointEntityId) REFERENCES GeneralResultFaultTreeIllustrationPointEntity (GeneralResultFaultTreeIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_ProbabilisticPipingCalculationOutputEntity_Section_GeneralResultSubMechanismIllustrationPointEntity FOREIGN KEY (SectionSpecificGeneralResultSubMechanismIllustrationPointEntityId) REFERENCES GeneralResultSubMechanismIllustrationPointEntity (GeneralResultSubMechanismIllustrationPointEntityId) ON DELETE No Action ON UPDATE No Action,
+ CONSTRAINT U_ProbabilisticPipingCalculationEntity UNIQUE (ProbabilisticPipingCalculationEntityId)
+ )
+;
+
+CREATE TABLE SemiProbabilisticPipingCalculationOutputEntity
+(
+ SemiProbabilisticPipingCalculationOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ SemiProbabilisticPipingCalculationEntityId INTEGER NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ HeaveFactorOfSafety REAL NULL,
+ UpliftFactorOfSafety REAL NULL,
+ SellmeijerFactorOfSafety REAL NULL,
+ UpliftEffectiveStress REAL NULL,
+ HeaveGradient REAL NULL,
+ SellmeijerCreepCoefficient REAL NULL,
+ SellmeijerCriticalFall REAL NULL,
+ SellmeijerReducedFall REAL NULL,
+ CONSTRAINT FK_SemiProbabilisticPipingCalculationOutputEntity_SemiProbabilisticPipingCalculationEntity FOREIGN KEY (SemiProbabilisticPipingCalculationEntityId) REFERENCES SemiProbabilisticPipingCalculationEntity (SemiProbabilisticPipingCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT U_SemiProbabilisticPipingCalculationEntity UNIQUE (SemiProbabilisticPipingCalculationEntityId)
+ )
+;
+
+CREATE TABLE SpecificFailureMechanismEntity
+(
+ SpecificFailureMechanismEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ AssessmentSectionEntityId INTEGER NOT NULL,
+ Name VARCHAR (260) NULL,
+ Code VARCHAR (260) NULL,
+ 'Order' INT (4) NOT NULL,
+ InAssembly TINYINT (1) NOT NULL, -- true or false
+ FailureMechanismSectionCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ InAssemblyInputComments TEXT NULL COLLATE NOCASE,
+ InAssemblyOutputComments TEXT NULL COLLATE NOCASE,
+ NotInAssemblyComments TEXT NULL COLLATE NOCASE,
+ FailureMechanismAssemblyResultProbabilityResultType TINYINT (1) NOT NULL, -- Enum: None = 1, P1 = 2, P2 = 3, Manual = 4
+ FailureMechanismAssemblyResultManualFailureMechanismAssemblyProbability REAL NULL,
+ CONSTRAINT FK_SpecificFailureMechanismEntity_AssessmentSectionEntity FOREIGN KEY (AssessmentSectionEntityId) REFERENCES AssessmentSectionEntity (AssessmentSectionEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE SpecificFailureMechanismFailureMechanismSectionEntity
+(
+ SpecificFailureMechanismEntityId INTEGER NOT NULL,
+ FailureMechanismSectionEntityId INTEGER NOT NULL,
+ CONSTRAINT PK_SpecificFailureMechanismFailureMechanismSectionEntity PRIMARY KEY (SpecificFailureMechanismEntityId,FailureMechanismSectionEntityId),
+ CONSTRAINT FK_SpecificFailureMechanismFailureMechanismSectionEntity_FailureMechanismSectionEntity FOREIGN KEY (FailureMechanismSectionEntityId) REFERENCES FailureMechanismSectionEntity (FailureMechanismSectionEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_SpecificFailureMechanismFailureMechanismSectionEntity_SpecificFailureMechanismEntity FOREIGN KEY (SpecificFailureMechanismEntityId) REFERENCES SpecificFailureMechanismEntity (SpecificFailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE StabilityPointStructureEntity
+(
+ StabilityPointStructureEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NOT NULL,
+ Id VARCHAR (260) NOT NULL,
+ X REAL NULL,
+ Y REAL NULL,
+ StructureNormalOrientation REAL NULL,
+ StorageStructureAreaMean REAL NULL,
+ StorageStructureAreaCoefficientOfVariation REAL NULL,
+ AllowedLevelIncreaseStorageMean REAL NULL,
+ AllowedLevelIncreaseStorageStandardDeviation REAL NULL,
+ WidthFlowAperturesMean REAL NULL,
+ WidthFlowAperturesStandardDeviation REAL NULL,
+ InsideWaterLevelMean REAL NULL,
+ InsideWaterLevelStandardDeviation REAL NULL,
+ ThresholdHeightOpenWeirMean REAL NULL,
+ ThresholdHeightOpenWeirStandardDeviation REAL NULL,
+ CriticalOvertoppingDischargeMean REAL NULL,
+ CriticalOvertoppingDischargeCoefficientOfVariation REAL NULL,
+ FlowWidthAtBottomProtectionMean REAL NULL,
+ FlowWidthAtBottomProtectionStandardDeviation REAL NULL,
+ ConstructiveStrengthLinearLoadModelMean REAL NULL,
+ ConstructiveStrengthLinearLoadModelCoefficientOfVariation REAL NULL,
+ ConstructiveStrengthQuadraticLoadModelMean REAL NULL,
+ ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation REAL NULL,
+ BankWidthMean REAL NULL,
+ BankWidthStandardDeviation REAL NULL,
+ InsideWaterLevelFailureConstructionMean REAL NULL,
+ InsideWaterLevelFailureConstructionStandardDeviation REAL NULL,
+ EvaluationLevel REAL NULL,
+ LevelCrestStructureMean REAL NULL,
+ LevelCrestStructureStandardDeviation REAL NULL,
+ VerticalDistance REAL NULL,
+ FailureProbabilityRepairClosure REAL NULL,
+ FailureCollisionEnergyMean REAL NULL,
+ FailureCollisionEnergyCoefficientOfVariation REAL NULL,
+ ShipMassMean REAL NULL,
+ ShipMassCoefficientOfVariation REAL NULL,
+ ShipVelocityMean REAL NULL,
+ ShipVelocityCoefficientOfVariation REAL NULL,
+ LevellingCount INT (4) NOT NULL,
+ ProbabilityCollisionSecondaryStructure REAL NULL,
+ FlowVelocityStructureClosableMean REAL NULL,
+ StabilityLinearLoadModelMean REAL NULL,
+ StabilityLinearLoadModelCoefficientOfVariation REAL NULL,
+ StabilityQuadraticLoadModelMean REAL NULL,
+ StabilityQuadraticLoadModelCoefficientOfVariation REAL NULL,
+ AreaFlowAperturesMean REAL NULL,
+ AreaFlowAperturesStandardDeviation REAL NULL,
+ InflowModelType TINYINT (1) NOT NULL, -- Enum: 1 = LowSill, 2 = FloodedCulvert
+ CONSTRAINT FK_StabilityPointStructureEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT U_Id_FailureMechanismEntityId UNIQUE (FailureMechanismEntityId,Id)
+ )
+;
+
+CREATE TABLE StabilityPointStructuresCalculationEntity
+(
+ StabilityPointStructuresCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ CalculationGroupEntityId INTEGER NOT NULL,
+ ForeshoreProfileEntityId INTEGER NULL,
+ HydraulicLocationEntityId INTEGER NULL,
+ StabilityPointStructureEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NULL,
+ Comments TEXT NULL COLLATE NOCASE,
+ UseBreakWater TINYINT (1) NOT NULL, -- true or false
+ BreakWaterType TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam
+ BreakWaterHeight REAL NULL,
+ UseForeshore TINYINT (1) NOT NULL, -- true or false
+ StructureNormalOrientation REAL NULL,
+ StorageStructureAreaMean REAL NULL,
+ StorageStructureAreaCoefficientOfVariation REAL NULL,
+ AllowedLevelIncreaseStorageMean REAL NULL,
+ AllowedLevelIncreaseStorageStandardDeviation REAL NULL,
+ WidthFlowAperturesMean REAL NULL,
+ WidthFlowAperturesStandardDeviation REAL NULL,
+ InsideWaterLevelMean REAL NULL,
+ InsideWaterLevelStandardDeviation REAL NULL,
+ ThresholdHeightOpenWeirMean REAL NULL,
+ ThresholdHeightOpenWeirStandardDeviation REAL NULL,
+ CriticalOvertoppingDischargeMean REAL NULL,
+ CriticalOvertoppingDischargeCoefficientOfVariation REAL NULL,
+ FlowWidthAtBottomProtectionMean REAL NULL,
+ FlowWidthAtBottomProtectionStandardDeviation REAL NULL,
+ ConstructiveStrengthLinearLoadModelMean REAL NULL,
+ ConstructiveStrengthLinearLoadModelCoefficientOfVariation REAL NULL,
+ ConstructiveStrengthQuadraticLoadModelMean REAL NULL,
+ ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation REAL NULL,
+ BankWidthMean REAL NULL,
+ BankWidthStandardDeviation REAL NULL,
+ InsideWaterLevelFailureConstructionMean REAL NULL,
+ InsideWaterLevelFailureConstructionStandardDeviation REAL NULL,
+ EvaluationLevel REAL NULL,
+ LevelCrestStructureMean REAL NULL,
+ LevelCrestStructureStandardDeviation REAL NULL,
+ VerticalDistance REAL NULL,
+ FailureProbabilityRepairClosure REAL NOT NULL,
+ FailureCollisionEnergyMean REAL NULL,
+ FailureCollisionEnergyCoefficientOfVariation REAL NULL,
+ ShipMassMean REAL NULL,
+ ShipMassCoefficientOfVariation REAL NULL,
+ ShipVelocityMean REAL NULL,
+ ShipVelocityCoefficientOfVariation REAL NULL,
+ LevellingCount INT (4) NOT NULL,
+ ProbabilityCollisionSecondaryStructure REAL NOT NULL,
+ FlowVelocityStructureClosableMean REAL NULL,
+ StabilityLinearLoadModelMean REAL NULL,
+ StabilityLinearLoadModelCoefficientOfVariation REAL NULL,
+ StabilityQuadraticLoadModelMean REAL NULL,
+ StabilityQuadraticLoadModelCoefficientOfVariation REAL NULL,
+ AreaFlowAperturesMean REAL NULL,
+ AreaFlowAperturesStandardDeviation REAL NULL,
+ InflowModelType TINYINT (1) NOT NULL, -- Enum: 1 = VerticalWall, 2 = LowSill, 3 = FloodedCulvert
+ LoadSchematizationType TINYINT (1) NOT NULL, -- Enum: 1 = Linear, 2 = Quadratic
+ VolumicWeightWater REAL NULL,
+ StormDurationMean REAL NULL,
+ FactorStormDurationOpenStructure REAL NULL,
+ DrainCoefficientMean REAL NULL,
+ DrainCoefficientStandardDeviation REAL NULL,
+ FailureProbabilityStructureWithErosion REAL NOT NULL,
+ ShouldIllustrationPointsBeCalculated TINYINT (1) NOT NULL, -- true or false
+ RelevantForScenario TINYINT (1) NOT NULL, -- true or false
+ ScenarioContribution REAL NOT NULL,
+ CONSTRAINT FK_StabilityPointStructuresCalculationEntity_CalculationGroupEntity FOREIGN KEY (CalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_StabilityPointStructuresCalculationEntity_ForeshoreProfileEntity FOREIGN KEY (ForeshoreProfileEntityId) REFERENCES ForeshoreProfileEntity (ForeshoreProfileEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_StabilityPointStructuresCalculationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_StabilityPointStructuresCalculationEntity_StabilityPointStructureEntity FOREIGN KEY (StabilityPointStructureEntityId) REFERENCES StabilityPointStructureEntity (StabilityPointStructureEntityId) ON DELETE Set Null ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE StabilityPointStructuresFailureMechanismMetaEntity
+(
+ StabilityPointStructuresFailureMechanismMetaEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ ForeshoreProfileCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ StabilityPointStructureCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ CONSTRAINT FK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE StabilityPointStructuresOutputEntity
+(
+ StabilityPointStructuresOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ StabilityPointStructuresCalculationEntityId INTEGER NOT NULL,
+ GeneralResultFaultTreeIllustrationPointEntityId INTEGER NULL,
+ Reliability REAL NULL,
+ CONSTRAINT FK_StabilityPointStructuresOutputEntity_GeneralResultFaultTreeIllustrationPointEntity FOREIGN KEY (GeneralResultFaultTreeIllustrationPointEntityId) REFERENCES GeneralResultFaultTreeIllustrationPointEntity (GeneralResultFaultTreeIllustrationPointEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_StabilityPointStructuresOutputEntity_StabilityPointStructuresCalculationEntity FOREIGN KEY (StabilityPointStructuresCalculationEntityId) REFERENCES StabilityPointStructuresCalculationEntity (StabilityPointStructuresCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT U_StabilityPointStructuresCalculationEntity UNIQUE (StabilityPointStructuresCalculationEntityId)
+)
+;
+
+CREATE TABLE StabilityStoneCoverFailureMechanismMetaEntity
+(
+ StabilityStoneCoverFailureMechanismMetaEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FailureMechanismEntityId INTEGER NOT NULL,
+ ForeshoreProfileCollectionSourcePath TEXT NULL COLLATE NOCASE,
+ CONSTRAINT FK_StabilityStoneCoverFailureMechanismMetaEntity_FailureMechanismEntity FOREIGN KEY (FailureMechanismEntityId) REFERENCES FailureMechanismEntity (FailureMechanismEntityId) ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE StabilityStoneCoverWaveConditionsCalculationEntity
+(
+ StabilityStoneCoverWaveConditionsCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ CalculationGroupEntityId INTEGER NOT NULL,
+ ForeshoreProfileEntityId INTEGER NULL,
+ HydraulicLocationEntityId INTEGER NULL,
+ HydraulicLocationCalculationForTargetProbabilityCollectionEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NULL,
+ Comments TEXT NULL COLLATE NOCASE,
+ UseBreakWater TINYINT (1) NOT NULL, -- true or false
+ BreakWaterType TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam
+ BreakWaterHeight REAL NULL,
+ UseForeshore TINYINT (1) NOT NULL, -- true or false
+ Orientation REAL NULL,
+ UpperBoundaryRevetment REAL NULL,
+ LowerBoundaryRevetment REAL NULL,
+ UpperBoundaryWaterLevels REAL NULL,
+ LowerBoundaryWaterLevels REAL NULL,
+ StepSize REAL NOT NULL,
+ CalculationType TINYINT (1) NOT NULL, -- Enum: 1 = Blocks, 2 = Columns, 3 = Both
+ WaterLevelType TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = MaximumAllowableFloodingProbability, 3 = SignalFloodingProbability, 4 = UserDefinedTargetProbability
+ CONSTRAINT FK_StabilityStoneCoverWaveConditionsCalculationEntity_CalculationGroupEntity FOREIGN KEY (CalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_StabilityStoneCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity FOREIGN KEY (ForeshoreProfileEntityId) REFERENCES ForeshoreProfileEntity (ForeshoreProfileEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_StabilityStoneCoverWaveConditionsCalculationEntity_HydraulicLocationCalculationForTargetProbabilityCollectionEntity FOREIGN KEY (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId) REFERENCES HydraulicLocationCalculationForTargetProbabilityCollectionEntity (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_StabilityStoneCoverWaveConditionsCalculationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Set Null ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE StabilityStoneCoverWaveConditionsOutputEntity
+(
+ StabilityStoneCoverWaveConditionsOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ StabilityStoneCoverWaveConditionsCalculationEntityId INTEGER NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ OutputType TINYINT (1) NOT NULL, -- Enum: 1 = Column, 2 = Block
+ WaterLevel REAL NULL,
+ WaveHeight REAL NULL,
+ WavePeakPeriod REAL NULL,
+ WaveAngle REAL NULL,
+ WaveDirection REAL NULL,
+ TargetProbability REAL NULL,
+ TargetReliability REAL NULL,
+ CalculatedProbability REAL NULL,
+ CalculatedReliability REAL NULL,
+ CalculationConvergence TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculationNotConverged, 3 = CalculationConverged
+ CONSTRAINT FK_StabilityStoneCoverWaveConditionsOutputEntity_StabilityStoneCoverWaveConditionsCalculationEntity FOREIGN KEY (StabilityStoneCoverWaveConditionsCalculationEntityId) REFERENCES StabilityStoneCoverWaveConditionsCalculationEntity (StabilityStoneCoverWaveConditionsCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE StochastEntity
+(
+ StochastEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ Name TEXT NOT NULL COLLATE NOCASE,
+ Duration REAL NOT NULL,
+ Alpha REAL NOT NULL,
+ 'Order' INT (4) NOT NULL
+ )
+;
+
+CREATE TABLE SubMechanismIllustrationPointEntity
+(
+ SubMechanismIllustrationPointEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ Name TEXT NOT NULL COLLATE NOCASE,
+ Beta REAL NOT NULL,
+ 'Order' INT (4) NOT NULL
+ )
+;
+
+CREATE TABLE SubMechanismIllustrationPointStochastEntity
+(
+ SubMechanismIllustrationPointStochastEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ SubMechanismIllustrationPointEntityId INTEGER NOT NULL,
+ Name TEXT NOT NULL COLLATE NOCASE,
+ Unit TEXT NOT NULL COLLATE NOCASE,
+ Duration REAL NOT NULL,
+ Alpha REAL NOT NULL,
+ Realization REAL NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_SubMechanismIllustrationPointStochast_SubMechanismIllustrationPointEntity FOREIGN KEY (SubMechanismIllustrationPointEntityId) REFERENCES SubMechanismIllustrationPointEntity (SubMechanismIllustrationPointEntityId) ON DELETE No Action ON UPDATE No Action
+ )
+;
+
+CREATE TABLE TopLevelFaultTreeIllustrationPointEntity
+(
+ TopLevelFaultTreeIllustrationPointEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ FaultTreeIllustrationPointEntityId INTEGER NOT NULL,
+ GeneralResultFaultTreeIllustrationPointEntityId INTEGER NOT NULL,
+ ClosingSituation TEXT NOT NULL COLLATE NOCASE,
+ WindDirectionName TEXT NOT NULL COLLATE NOCASE,
+ WindDirectionAngle REAL NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_TopLevelFaultTreeIllustrationPointEntity_FaultTreeIllustrationPointEntity FOREIGN KEY (FaultTreeIllustrationPointEntityId) REFERENCES FaultTreeIllustrationPointEntity (FaultTreeIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_TopLevelFaultTreeIllustrationPointEntity_GeneralResultFaultTreeIllustrationPointEntity FOREIGN KEY (GeneralResultFaultTreeIllustrationPointEntityId) REFERENCES GeneralResultFaultTreeIllustrationPointEntity (GeneralResultFaultTreeIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE TopLevelSubMechanismIllustrationPointEntity
+(
+ TopLevelSubMechanismIllustrationPointEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ GeneralResultSubMechanismIllustrationPointEntityId INTEGER NOT NULL,
+ SubMechanismIllustrationPointEntityId INTEGER NOT NULL,
+ ClosingSituation TEXT NOT NULL COLLATE NOCASE,
+ WindDirectionName TEXT NOT NULL COLLATE NOCASE,
+ WindDirectionAngle REAL NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT FK_TopLevelSubMechanismIllustrationPointEntity_GeneralResultSubMechanismIllustrationPointEntity FOREIGN KEY (GeneralResultSubMechanismIllustrationPointEntityId) REFERENCES GeneralResultSubMechanismIllustrationPointEntity (GeneralResultSubMechanismIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_TopLevelSubMechanismIllustrationPointEntity_SubMechanismIllustrationPointEntity FOREIGN KEY (SubMechanismIllustrationPointEntityId) REFERENCES SubMechanismIllustrationPointEntity (SubMechanismIllustrationPointEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE WaveImpactAsphaltCoverWaveConditionsCalculationEntity
+(
+ WaveImpactAsphaltCoverWaveConditionsCalculationEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ CalculationGroupEntityId INTEGER NOT NULL,
+ ForeshoreProfileEntityId INTEGER NULL,
+ HydraulicLocationEntityId INTEGER NULL,
+ HydraulicLocationCalculationForTargetProbabilityCollectionEntityId INTEGER NULL,
+ 'Order' INT (4) NOT NULL,
+ Name VARCHAR (260) NULL,
+ Comments TEXT NULL COLLATE NOCASE,
+ UseBreakWater TINYINT (1) NOT NULL, -- true or false
+ BreakWaterType TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam
+ BreakWaterHeight REAL NULL,
+ UseForeshore TINYINT (1) NOT NULL, -- true or false
+ Orientation REAL NULL,
+ UpperBoundaryRevetment REAL NULL,
+ LowerBoundaryRevetment REAL NULL,
+ UpperBoundaryWaterLevels REAL NULL,
+ LowerBoundaryWaterLevels REAL NULL,
+ StepSize REAL NOT NULL,
+ WaterLevelType TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = MaximumAllowableFloodingProbability, 3 = SignalFloodingProbability, 4 = UserDefinedTargetProbability
+ CONSTRAINT FK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_CalculationGroupEntity FOREIGN KEY (CalculationGroupEntityId) REFERENCES CalculationGroupEntity (CalculationGroupEntityId) ON DELETE Cascade ON UPDATE Cascade,
+ CONSTRAINT FK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity FOREIGN KEY (ForeshoreProfileEntityId) REFERENCES ForeshoreProfileEntity (ForeshoreProfileEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_HydraulicLocationCalculationForTargetProbabilityCollectionEntity FOREIGN KEY (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId) REFERENCES HydraulicLocationCalculationForTargetProbabilityCollectionEntity (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId) ON DELETE Set Null ON UPDATE Cascade,
+ CONSTRAINT FK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_HydraulicLocationEntity FOREIGN KEY (HydraulicLocationEntityId) REFERENCES HydraulicLocationEntity (HydraulicLocationEntityId) ON DELETE Set Null ON UPDATE Cascade
+ )
+;
+
+CREATE TABLE WaveImpactAsphaltCoverWaveConditionsOutputEntity
+(
+ WaveImpactAsphaltCoverWaveConditionsOutputEntityId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ WaveImpactAsphaltCoverWaveConditionsCalculationEntityId INTEGER NOT NULL,
+ 'Order' INT (4) NOT NULL,
+ WaterLevel REAL NULL,
+ WaveHeight REAL NULL,
+ WavePeakPeriod REAL NULL,
+ WaveAngle REAL NULL,
+ WaveDirection REAL NULL,
+ TargetProbability REAL NULL,
+ TargetReliability REAL NULL,
+ CalculatedProbability REAL NULL,
+ CalculatedReliability REAL NULL,
+ CalculationConvergence TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculationNotConverged, 3 = CalculationConverged
+ CONSTRAINT FK_WaveImpactAsphaltCoverWaveConditionsOutputEntity_WaveImpactAsphaltCoverWaveConditionsCalculationEntity FOREIGN KEY (WaveImpactAsphaltCoverWaveConditionsCalculationEntityId) REFERENCES WaveImpactAsphaltCoverWaveConditionsCalculationEntity (WaveImpactAsphaltCoverWaveConditionsCalculationEntityId) ON DELETE Cascade ON UPDATE Cascade
+ )
+;
+
+/* Create Indexes and Triggers */
+
+CREATE INDEX IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity1
+ ON AssessmentSectionEntity (HydraulicLocationCalculationCollectionEntity1Id ASC)
+;
+
+CREATE INDEX IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity2
+ ON AssessmentSectionEntity (HydraulicLocationCalculationCollectionEntity2Id ASC)
+;
+
+CREATE INDEX IXFK_AssessmentSectionEntity_ProjectEntity
+ ON AssessmentSectionEntity (ProjectEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteAssessmentSectionEntity_RemoveHydraulicLocationCalculationCollectionEntities]
+ AFTER DELETE
+ON AssessmentSectionEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM HydraulicLocationCalculationCollectionEntity
+WHERE HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity1Id
+ OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity2Id;
+END;
+;
+
+CREATE INDEX IXFK_FailureMechanismEntity_AssessmentSectionEntity
+ ON FailureMechanismEntity (AssessmentSectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_FailureMechanismEntity_CalculationGroupEntity
+ ON FailureMechanismEntity (CalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity
+ ON ClosingStructuresFailureMechanismMetaEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_CalculationGroupEntity_CalculationGroupEntity
+ ON CalculationGroupEntity (ParentCalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_HydraulicLocationEntity_HydraulicBoundaryDatabaseEntity
+ ON HydraulicLocationEntity (HydraulicBoundaryDatabaseEntityId ASC)
+;
+
+CREATE INDEX IXFK_SemiProbabilisticPipingCalculationEntity_PipingStochasticSoilProfileEntity
+ ON SemiProbabilisticPipingCalculationEntity (PipingStochasticSoilProfileEntityId ASC)
+;
+
+CREATE INDEX IXFK_SemiProbabilisticPipingCalculationEntity_SurfaceLineEntity
+ ON SemiProbabilisticPipingCalculationEntity (SurfaceLineEntityId ASC)
+;
+
+CREATE INDEX IXFK_SemiProbabilisticPipingCalculationEntity_HydraulicLocationEntity
+ ON SemiProbabilisticPipingCalculationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_SemiProbabilisticPipingCalculationEntity_CalculationGroupEntity
+ ON SemiProbabilisticPipingCalculationEntity (CalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity
+ ON GrassCoverErosionInwardsFailureMechanismMetaEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionInwardsCalculationEntity_CalculationGroupEntity
+ ON GrassCoverErosionInwardsCalculationEntity (CalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionInwardsCalculationEntity_DikeProfileEntity
+ ON GrassCoverErosionInwardsCalculationEntity (DikeProfileEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionInwardsCalculationEntity_HydraulicLocationEntity
+ ON GrassCoverErosionInwardsCalculationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_FailureMechanismEntity
+ ON GrassCoverErosionOutwardsFailureMechanismMetaEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_PipingStochasticSoilProfileEntity_SoilProfileEntity
+ ON PipingStochasticSoilProfileEntity (PipingSoilProfileEntityId ASC)
+;
+
+CREATE INDEX IXFK_PipingStochasticSoilProfileEntity_StochasticSoilModelEntity
+ ON PipingStochasticSoilProfileEntity (StochasticSoilModelEntityId ASC)
+;
+
+CREATE INDEX IXFK_StochasticSoilModelEntity_FailureMechanismEntity
+ ON StochasticSoilModelEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_PipingFailureMechanismSectionConfigurationEntity_FailureMechanismSectionEntity
+ ON PipingFailureMechanismSectionConfigurationEntity (FailureMechanismSectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_SurfaceLineEntity_FailureMechanismEntity
+ ON SurfaceLineEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_SurfaceLinePointEntity_SurfaceLineEntity
+ ON PipingCharacteristicPointEntity (SurfaceLineEntityId ASC)
+;
+
+CREATE INDEX IXFK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity
+ ON WaveImpactAsphaltCoverFailureMechanismMetaEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_AdoptableFailureMechanismSectionResultEntity_FailureMechanismSectionEntity
+ ON AdoptableFailureMechanismSectionResultEntity (FailureMechanismSectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_BackgroundDataEntity_AssessmentSectionEntity
+ ON BackgroundDataEntity (AssessmentSectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_BackgroundDataMetaEntity_BackgroundDataEntity
+ ON BackgroundDataMetaEntity (BackgroundDataEntityId ASC)
+;
+
+CREATE INDEX IXFK_ClosingStructureEntity_FailureMechanismEntity
+ ON ClosingStructureEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_ClosingStructuresCalculationEntity_CalculationGroupEntity
+ ON ClosingStructuresCalculationEntity (CalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_ClosingStructuresCalculationEntity_ClosingStructureEntity
+ ON ClosingStructuresCalculationEntity (ClosingStructureEntityId ASC)
+;
+
+CREATE INDEX IXFK_ClosingStructuresCalculationEntity_ForeshoreProfileEntity
+ ON ClosingStructuresCalculationEntity (ForeshoreProfileEntityId ASC)
+;
+
+CREATE INDEX IXFK_ClosingStructuresCalculationEntity_HydraulicLocationEntity
+ ON ClosingStructuresCalculationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_ClosingStructuresOutputEntity_ClosingStructuresCalculationEntity
+ ON ClosingStructuresOutputEntity (ClosingStructuresCalculationEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteClosingStructuresOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity]
+ AFTER DELETE
+ON ClosingStructuresOutputEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM GeneralResultFaultTreeIllustrationPointEntity
+WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL
+ AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId;
+END;
+;
+
+CREATE INDEX IXFK_DikeProfileEntity_FailureMechanismEntity
+ ON DikeProfileEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_DuneErosionFailureMechanismMetaEntity_FailureMechanismEntity
+ ON DuneErosionFailureMechanismMetaEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_DuneLocationCalculationEntity_DuneLocationCalculationCollectionEntity
+ ON DuneLocationCalculationEntity (DuneLocationCalculationForTargetProbabilityCollectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_DuneLocationCalculationEntity_DuneLocationEntity
+ ON DuneLocationCalculationEntity (DuneLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_DuneLocationCalculationForTargetProbabilityCollectionEntity_DuneErosionFailureMechanismMetaEntity
+ ON DuneLocationCalculationForTargetProbabilityCollectionEntity (DuneErosionFailureMechanismMetaEntityId ASC)
+;
+
+CREATE INDEX IXFK_DuneLocationCalculationOutputEntity_DuneLocationCalculationEntity
+ ON DuneLocationCalculationOutputEntity (DuneLocationCalculationEntityId ASC)
+;
+
+CREATE INDEX IXFK_DuneLocationEntity_FailureMechanismEntity
+ ON DuneLocationEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_DuneLocationEntity_HydraulicLocationEntity
+ ON DuneLocationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_FailureMechanismFailureMechanismSectionEntity_FailureMechanismEntity
+ ON FailureMechanismFailureMechanismSectionEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_FailureMechanismFailureMechanismSectionEntity_FailureMechanismSectionEntity
+ ON FailureMechanismFailureMechanismSectionEntity (FailureMechanismSectionEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteFailureMechanismFailureMechanismSectionEntity_RemoveFailureMechanismSectionEntityId]
+ AFTER DELETE
+ON FailureMechanismFailureMechanismSectionEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM FailureMechanismSectionEntity
+WHERE OLD.FailureMechanismSectionEntityId IS NOT NULL
+ AND FailureMechanismSectionEntityId IS OLD.FailureMechanismSectionEntityId;
+END;
+;
+
+CREATE INDEX IXFK_FaultTreeIllustrationPoint_FaultTreeIllustrationPoint
+ ON FaultTreeIllustrationPointEntity (ParentFaultTreeIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_FaultTreeIllustrationPointStochastEntity_FaultTreeIllustrationPoint
+ ON FaultTreeIllustrationPointStochastEntity (FaultTreeIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_FaultTreeIllustrationPointStochastEntity_StochastEntity
+ ON FaultTreeIllustrationPointStochastEntity (StochastEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteFaultTreeIllustrationPointStochastEntity_RemoveStochastEntity]
+ AFTER DELETE
+ON FaultTreeIllustrationPointStochastEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM StochastEntity
+WHERE OLD.StochastEntityId IS NOT NULL
+ AND StochastEntityId IS OLD.StochastEntityId;
+END;
+;
+
+CREATE INDEX IXFK_FaultTreeIllustrationPointEntity_FaultTreeIllustrationPointEntity
+ ON FaultTreeSubmechanismIllustrationPointEntity (FaultTreeIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_FaultTreeIllustrationPointEntity_SubMechanismIllustrationPointEntity
+ ON FaultTreeSubmechanismIllustrationPointEntity (SubMechanismIllustrationPointEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteFaultTreeSubmechanismIllustrationPointEntity_RemoveSubmechanismIllustrationPointEntity]
+ AFTER DELETE
+ON FaultTreeSubmechanismIllustrationPointEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM SubmechanismIllustrationPointEntity
+WHERE OLD.SubmechanismIllustrationPointEntityId IS NOT NULL
+ AND SubmechanismIllustrationPointEntityId IS OLD.SubmechanismIllustrationPointEntityId;
+END;
+;
+
+CREATE INDEX IXFK_ForeshoreProfileEntity_FailureMechanismEntity
+ ON ForeshoreProfileEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_GeneralResultFaultTreeIllustrationPointStochastEntity_GeneralResultFaultTreeIllustrationPointEntity
+ ON GeneralResultFaultTreeIllustrationPointStochastEntity (GeneralResultFaultTreeIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_GeneralResultFaultTreeIllustrationPointStochastEntity_StochastEntity
+ ON GeneralResultFaultTreeIllustrationPointStochastEntity (StochastEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteGeneralResultFaultTreeIllustrationPointStochastEntity_RemoveStochastEntity]
+ AFTER DELETE
+ON GeneralResultFaultTreeIllustrationPointStochastEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM StochastEntity
+WHERE OLD.StochastEntityId IS NOT NULL
+ AND StochastEntityId IS OLD.StochastEntityId;
+END;
+;
+
+CREATE INDEX IXFK_GeneralResultSubMechanismIllustrationPointStochastEntity_GeneralResultSubMechanismIllustrationPointEntity
+ ON GeneralResultSubMechanismIllustrationPointStochastEntity (GeneralResultSubMechanismIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_GeneralResultSubMechanismIllustrationPointStochastEntity_StochastEntity
+ ON GeneralResultSubMechanismIllustrationPointStochastEntity (StochastEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteGeneralResultSubMechanismIllustrationPointStochastEntity_RemoveStochastEntity]
+ AFTER DELETE
+ON GeneralResultSubMechanismIllustrationPointStochastEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM StochastEntity
+WHERE OLD.StochastEntityId IS NOT NULL
+ AND StochastEntityId IS OLD.StochastEntityId;
+END;
+;
+
+CREATE INDEX IXFK_GrassCoverErosionInwardsDikeHeightOutputEntity_GeneralResultFaultTreeIllustrationPointEntity
+ ON GrassCoverErosionInwardsDikeHeightOutputEntity (GeneralResultFaultTreeIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionInwardsDikeHeightOutputEntity_GrassCoverErosionInwardsOutputEntity
+ ON GrassCoverErosionInwardsDikeHeightOutputEntity (GrassCoverErosionInwardsOutputEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionInwardsDikeHeightOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity]
+ AFTER DELETE
+ON GrassCoverErosionInwardsDikeHeightOutputEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM GeneralResultFaultTreeIllustrationPointEntity
+WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL
+ AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId;
+END;
+;
+
+CREATE INDEX IXFK_GrassCoverErosionInwardsOutputEntity_GeneralResultFaultTreeIllustrationPointEntity
+ ON GrassCoverErosionInwardsOutputEntity (GeneralResultFaultTreeIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionInwardsOutputEntity_GrassCoverErosionInwardsCalculationEntity
+ ON GrassCoverErosionInwardsOutputEntity (GrassCoverErosionInwardsCalculationEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionInwardsOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity]
+ AFTER DELETE
+ON GrassCoverErosionInwardsOutputEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM GeneralResultFaultTreeIllustrationPointEntity
+WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL
+ AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId;
+END;
+;
+
+CREATE INDEX IXFK_GrassCoverErosionInwardsOvertoppingRateOutputEntity_GeneralResultFaultTreeIllustrationPointEntity
+ ON GrassCoverErosionInwardsOvertoppingRateOutputEntity (GeneralResultFaultTreeIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionInwardsOvertoppingRateOutputEntity_GrassCoverErosionInwardsOutputEntity
+ ON GrassCoverErosionInwardsOvertoppingRateOutputEntity (GrassCoverErosionInwardsOutputEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionInwardsOvertoppingRateOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity]
+ AFTER DELETE
+ON GrassCoverErosionInwardsOvertoppingRateOutputEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM GeneralResultFaultTreeIllustrationPointEntity
+WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL
+ AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId;
+END;
+;
+
+CREATE INDEX IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_CalculationGroupEntity
+ ON GrassCoverErosionOutwardsWaveConditionsCalculationEntity (CalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_ForeshoreProfileEntity
+ ON GrassCoverErosionOutwardsWaveConditionsCalculationEntity (ForeshoreProfileEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_HydraulicLocationCalculationForTargetProbabilityCollectionEntity
+ ON GrassCoverErosionOutwardsWaveConditionsCalculationEntity (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_HydraulicLocationEntity
+ ON GrassCoverErosionOutwardsWaveConditionsCalculationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_GrassCoverErosionOutwardsWaveConditionsOutputEntity_GrassCoverErosionOutwardsWaveConditionsCalculationEntity
+ ON GrassCoverErosionOutwardsWaveConditionsOutputEntity (GrassCoverErosionOutwardsWaveConditionsCalculationEntityId ASC)
+;
+
+CREATE INDEX IXFK_HeightStructure_FailureMechanismEntity
+ ON HeightStructureEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_HeightStructuresCalculationEntity_CalculationGroupEntity
+ ON HeightStructuresCalculationEntity (CalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_HeightStructuresCalculationEntity_ForeshoreProfileEntity
+ ON HeightStructuresCalculationEntity (ForeshoreProfileEntityId ASC)
+;
+
+CREATE INDEX IXFK_HeightStructuresCalculationEntity_HeightStructureEntity
+ ON HeightStructuresCalculationEntity (HeightStructureEntityId ASC)
+;
+
+CREATE INDEX IXFK_HeightStructuresCalculationEntity_HydraulicLocationEntity
+ ON HeightStructuresCalculationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity
+ ON HeightStructuresFailureMechanismMetaEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_HeightStructuresOutputEntity_HeightStructuresCalculationEntity
+ ON HeightStructuresOutputEntity (HeightStructuresCalculationEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteHeightStructuresOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity]
+ AFTER DELETE
+ON HeightStructuresOutputEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM GeneralResultFaultTreeIllustrationPointEntity
+WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL
+ AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId;
+END;
+;
+
+CREATE INDEX IXFK_HydraulicBoundaryDatabaseEntity_HydraulicBoundaryDataEntity
+ ON HydraulicBoundaryDatabaseEntity (HydraulicBoundaryDataEntityId ASC)
+;
+
+CREATE INDEX IXFK_HydraulicBoundaryDatabaseEntity_AssessmentSectionEntity
+ ON HydraulicBoundaryDataEntity (AssessmentSectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity_HydraulicLocationCalculationCollectionEntity
+ ON HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity (HydraulicLocationCalculationCollectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity_HydraulicLocationCalculationEntity
+ ON HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity (HydraulicLocationCalculationEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteHydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity_RemoveHydraulicLocationCalculationEntity]
+ AFTER DELETE
+ON HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM HydraulicLocationCalculationEntity
+WHERE OLD.HydraulicLocationCalculationEntityId IS NOT NULL
+ AND HydraulicLocationCalculationEntityId IS OLD.HydraulicLocationCalculationEntityId;
+END;
+;
+
+CREATE INDEX IXFK_HydraulicLocationCalculationEntity_HydraulicLocationEntity
+ ON HydraulicLocationCalculationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_HydraulicBoundaryLocationCalculationsForTargetProbabilityEntity_AssessmentSectionEntity
+ ON HydraulicLocationCalculationForTargetProbabilityCollectionEntity (AssessmentSectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_HydraulicBoundaryLocationCalculationsForTargetProbabilityHydraulicLocationCalculationEntity_HydraulicBoundaryLocationCalculationsForTargetProbabilityEntity
+ ON HydraulicLocationCalculationForTargetProbabilityCollectionHydraulicLocationCalculationEntity (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_HydraulicBoundaryLocationCalculationsForTargetProbabilityHydraulicLocationCalculationEntity_HydraulicLocationCalculationEntity
+ ON HydraulicLocationCalculationForTargetProbabilityCollectionHydraulicLocationCalculationEntity (HydraulicLocationCalculationEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteHydraulicLocationCalculationForTargetProbabilityCollectionHydraulicLocationCalculationEntity_RemoveHydraulicLocationCalculationEntity]
+ AFTER DELETE
+ON HydraulicLocationCalculationForTargetProbabilityCollectionHydraulicLocationCalculationEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM HydraulicLocationCalculationEntity
+WHERE OLD.HydraulicLocationCalculationEntityId IS NOT NULL
+ AND HydraulicLocationCalculationEntityId IS OLD.HydraulicLocationCalculationEntityId;
+END;
+;
+
+CREATE INDEX IXFK_HydraulicLocationOutputEntity_GeneralResultSubMechanismIllustrationPointEntity
+ ON HydraulicLocationOutputEntity (GeneralResultSubMechanismIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_HydraulicLocationOutputEntity_HydraulicLocationCalculationEntity
+ ON HydraulicLocationOutputEntity (HydraulicLocationCalculationEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteHydraulicLocationOutputEntity_RemoveGeneralResultSubMechanismIllustrationPointEntity]
+ AFTER DELETE
+ON HydraulicLocationOutputEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM GeneralResultSubMechanismIllustrationPointEntity
+WHERE OLD.GeneralResultSubMechanismIllustrationPointEntityId IS NOT NULL
+ AND GeneralResultSubMechanismIllustrationPointEntityId IS OLD.GeneralResultSubMechanismIllustrationPointEntityId;
+END;
+;
+
+CREATE INDEX IXFK_IllustrationPointResultEntity_SubMechanismIllustrationPointEntity
+ ON IllustrationPointResultEntity (SubMechanismIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_MacroStabilityInwardsCalculationEntity_CalculationGroupEntity
+ ON MacroStabilityInwardsCalculationEntity (CalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_MacroStabilityInwardsCalculationEntity_HydraulicLocationEntity
+ ON MacroStabilityInwardsCalculationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_MacroStabilityInwardsCalculationEntity_MacroStabilityInwardsStochasticSoilProfileEntity
+ ON MacroStabilityInwardsCalculationEntity (MacroStabilityInwardsStochasticSoilProfileEntityId ASC)
+;
+
+CREATE INDEX IXFK_MacroStabilityInwardsCalculationOutput_MacroStabilityInwardsCalculationEntity
+ ON MacroStabilityInwardsCalculationOutputEntity (MacroStabilityInwardsCalculationEntityId ASC)
+;
+
+CREATE INDEX IXFK_MacroStabilityCharacteristicPointEntity_SurfaceLineEntity
+ ON MacroStabilityInwardsCharacteristicPointEntity (SurfaceLineEntityId ASC)
+;
+
+CREATE INDEX IXFK_MacroStabilityInwardsFailureMechanismMetaEntity_FailureMechanismEntity
+ ON MacroStabilityInwardsFailureMechanismMetaEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_MacroStabilityInwardsFailureMechanismSectionConfigurationEntity_FailureMechanismSectionEntity
+ ON MacroStabilityInwardsFailureMechanismSectionConfigurationEntity (FailureMechanismSectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_MacroStabilityInwardsSoilLayerOneDEntity_MacroStabilityInwardsSoilProfileOneDEntity
+ ON MacroStabilityInwardsSoilLayerOneDEntity (MacroStabilityInwardsSoilProfileOneDEntityId ASC)
+;
+
+CREATE TRIGGER [TR_AfterDeleteMacroStabilityInwardsSoilProfileTwoDEntity_MacroStabilityInwardsSoilLayerTwoDEntity]
+ AFTER DELETE
+ON MacroStabilityInwardsSoilProfileTwoDEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM MacroStabilityInwardsSoilLayerTwoDEntity
+WHERE OLD.MacroStabilityInwardsSoilLayerTwoDEntity IS NOT NULL
+ AND MacroStabilityInwardsSoilLayerTwoDEntity IS OLD.MacroStabilityInwardsSoilLayerTwoDEntity;
+END;
+;
+
+CREATE INDEX IXFK_MacroStabilityInwardsStochasticSoilProfileEntity_StochasticSoilModelEntity
+ ON MacroStabilityInwardsStochasticSoilProfileEntity (StochasticSoilModelEntityId ASC)
+;
+CREATE TRIGGER [TR_BeforeInsertMacroStabilityInwardsStochasticSoilProfileEntity_MustHaveOneDOrTwoD]
+ BEFORE INSERT
+ ON MacroStabilityInwardsStochasticSoilProfileEntity
+ FOR EACH ROW
+BEGIN
+SELECT
+ CASE
+ WHEN
+ (
+ NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NULL
+ ) OR (
+ NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NOT NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NOT NULL
+ )
+ THEN RAISE(FAIL, 'Either SoilProfile1D or SoilProfile2D must be set.')
+ END;
+END;
+;
+
+CREATE TRIGGER [TR_BeforeUpdateMacroStabilityInwardsStochasticSoilProfileEntity_MustHaveOneDOrTwoD]
+ BEFORE UPDATE
+ ON MacroStabilityInwardsStochasticSoilProfileEntity
+ FOR EACH ROW
+BEGIN
+SELECT
+ CASE
+ WHEN
+ (
+ NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NULL
+ ) OR (
+ NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NOT NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NOT NULL
+ )
+ THEN RAISE(FAIL, 'Either SoilProfile1D or SoilProfile2D must be set.')
+ END;
+END;
+;
+
+CREATE INDEX IXFK_NonAdoptableFailureMechanismSectionResultEntity_FailureMechanismSectionEntity
+ ON NonAdoptableFailureMechanismSectionResultEntity (FailureMechanismSectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_PipingFailureMechanismMetaEntity_FailureMechanismEntity
+ ON PipingFailureMechanismMetaEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_ProbabilisticPipingCalculationEntity_CalculationGroupEntity
+ ON ProbabilisticPipingCalculationEntity (CalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_ProbabilisticPipingCalculationEntity_HydraulicLocationEntity
+ ON ProbabilisticPipingCalculationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_ProbabilisticPipingCalculationEntity_PipingStochasticSoilProfileEntity
+ ON ProbabilisticPipingCalculationEntity (PipingStochasticSoilProfileEntityId ASC)
+;
+
+CREATE INDEX IXFK_ProbabilisticPipingCalculationEntity_SurfaceLineEntity
+ ON ProbabilisticPipingCalculationEntity (SurfaceLineEntityId ASC)
+;
+
+CREATE INDEX IXFK_ProbabilisticPipingCalculationOutputEntity_ProbabilisticPipingCalculationEntity
+ ON ProbabilisticPipingCalculationOutputEntity (ProbabilisticPipingCalculationEntityId ASC)
+;
+
+CREATE INDEX IXFK_ProbabilisticPipingCalculationOutputEntity_Profile_GeneralResultFaultTreeIllustrationPointEntity
+ ON ProbabilisticPipingCalculationOutputEntity (ProfileSpecificGeneralResultFaultTreeIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_ProbabilisticPipingCalculationOutputEntity_Profile_GeneralResultSubMechanismIllustrationPointEntity
+ ON ProbabilisticPipingCalculationOutputEntity (ProfileSpecificGeneralResultSubMechanismIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_ProbabilisticPipingCalculationOutputEntity_Section_GeneralResultFaultTreeIllustrationPointEntity
+ ON ProbabilisticPipingCalculationOutputEntity (ProfileSpecificGeneralResultFaultTreeIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_ProbabilisticPipingCalculationOutputEntity_Section_GeneralResultSubMechanismIllustrationPointEntity
+ ON ProbabilisticPipingCalculationOutputEntity (SectionSpecificGeneralResultSubMechanismIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_SemiProbabilisticPipingCalculationOutputEntity_SemiProbabilisticPipingCalculationEntity
+ ON SemiProbabilisticPipingCalculationOutputEntity (SemiProbabilisticPipingCalculationEntityId ASC)
+;
+
+CREATE INDEX IXFK_SpecificFailureMechanismEntity_AssessmentSectionEntity
+ ON SpecificFailureMechanismEntity (AssessmentSectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_SpecificFailureMechanismFailureMechanismSectionEntity_FailureMechanismSectionEntity
+ ON SpecificFailureMechanismFailureMechanismSectionEntity (FailureMechanismSectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_SpecificFailureMechanismFailureMechanismSectionEntity_SpecificFailureMechanismEntity
+ ON SpecificFailureMechanismFailureMechanismSectionEntity (SpecificFailureMechanismEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteSpecificFailureMechanismFailureMechanismSectionEntity_RemoveFailureMechanismSectionEntityId]
+ AFTER DELETE
+ON SpecificFailureMechanismFailureMechanismSectionEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM FailureMechanismSectionEntity
+WHERE OLD.FailureMechanismSectionEntityId IS NOT NULL
+ AND FailureMechanismSectionEntityId IS OLD.FailureMechanismSectionEntityId;
+END;
+;
+
+CREATE INDEX IXFK_StabilityPointStructureEntity_FailureMechanismEntity
+ ON StabilityPointStructureEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_StabilityPointStructuresCalculationEntity_CalculationGroupEntity
+ ON StabilityPointStructuresCalculationEntity (CalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_StabilityPointStructuresCalculationEntity_ForeshoreProfileEntity
+ ON StabilityPointStructuresCalculationEntity (ForeshoreProfileEntityId ASC)
+;
+
+CREATE INDEX IXFK_StabilityPointStructuresCalculationEntity_HydraulicLocationEntity
+ ON StabilityPointStructuresCalculationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_StabilityPointStructuresCalculationEntity_StabilityPointStructureEntity
+ ON StabilityPointStructuresCalculationEntity (StabilityPointStructureEntityId ASC)
+;
+
+CREATE INDEX IXFK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity
+ ON StabilityPointStructuresFailureMechanismMetaEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_StabilityPointStructuresOutputEntity_StabilityPointStructuresCalculationEntity
+ ON StabilityPointStructuresOutputEntity (StabilityPointStructuresCalculationEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteStabilityPointStructuresOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity]
+ AFTER DELETE
+ON StabilityPointStructuresOutputEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM GeneralResultFaultTreeIllustrationPointEntity
+WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL
+ AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId;
+END;
+;
+
+CREATE INDEX IXFK_StabilityStoneCoverFailureMechanismMetaEntity_FailureMechanismEntity
+ ON StabilityStoneCoverFailureMechanismMetaEntity (FailureMechanismEntityId ASC)
+;
+
+CREATE INDEX IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_CalculationGroupEntity
+ ON StabilityStoneCoverWaveConditionsCalculationEntity (CalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity
+ ON StabilityStoneCoverWaveConditionsCalculationEntity (ForeshoreProfileEntityId ASC)
+;
+
+CREATE INDEX IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_HydraulicLocationCalculationForTargetProbabilityCollectionEntity
+ ON StabilityStoneCoverWaveConditionsCalculationEntity (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_HydraulicLocationEntity
+ ON StabilityStoneCoverWaveConditionsCalculationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_StabilityStoneCoverWaveConditionsOutputEntity_StabilityStoneCoverWaveConditionsCalculationEntity
+ ON StabilityStoneCoverWaveConditionsOutputEntity (StabilityStoneCoverWaveConditionsCalculationEntityId ASC)
+;
+
+CREATE INDEX IXFK_SubMechanismIllustrationPointStochast_SubMechanismIllustrationPointEntity
+ ON SubMechanismIllustrationPointStochastEntity (SubMechanismIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_TopLevelFaultTreeIllustrationPointEntity_FaultTreeIllustrationPointEntity
+ ON TopLevelFaultTreeIllustrationPointEntity (FaultTreeIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_TopLevelFaultTreeIllustrationPointEntity_GeneralResultFaultTreeIllustrationPointEntity
+ ON TopLevelFaultTreeIllustrationPointEntity (GeneralResultFaultTreeIllustrationPointEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteTopLevelFaultTreeIllustrationPointEntity_RemoveFaultTreeIllustrationPointEntity]
+ AFTER DELETE
+ON TopLevelFaultTreeIllustrationPointEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM FaultTreeIllustrationPointEntity
+WHERE OLD.FaultTreeIllustrationPointEntityId IS NOT NULL
+ AND FaultTreeIllustrationPointEntityId IS OLD.FaultTreeIllustrationPointEntityId;
+END;
+;
+
+CREATE INDEX IXFK_TopLevelSubMechanismIllustrationPointEntity_GeneralResultSubMechanismIllustrationPointEntity
+ ON TopLevelSubMechanismIllustrationPointEntity (GeneralResultSubMechanismIllustrationPointEntityId ASC)
+;
+
+CREATE INDEX IXFK_TopLevelSubMechanismIllustrationPointEntity_SubMechanismIllustrationPointEntity
+ ON TopLevelSubMechanismIllustrationPointEntity (SubMechanismIllustrationPointEntityId ASC)
+;
+CREATE TRIGGER [TR_AfterDeleteTopLevelSubMechanismIllustrationPointEntity_RemoveSubMechanismIllustrationPointEntity]
+ AFTER DELETE
+ON TopLevelSubMechanismIllustrationPointEntity
+ FOR EACH ROW
+BEGIN
+DELETE
+FROM SubMechanismIllustrationPointEntity
+WHERE OLD.SubMechanismIllustrationPointEntityId IS NOT NULL
+ AND SubMechanismIllustrationPointEntityId IS OLD.SubMechanismIllustrationPointEntityId;
+END;
+;
+
+CREATE INDEX IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_CalculationGroupEntity
+ ON WaveImpactAsphaltCoverWaveConditionsCalculationEntity (CalculationGroupEntityId ASC)
+;
+
+CREATE INDEX IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity
+ ON WaveImpactAsphaltCoverWaveConditionsCalculationEntity (ForeshoreProfileEntityId ASC)
+;
+
+CREATE INDEX IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_HydraulicLocationCalculationForTargetProbabilityCollectionEntity
+ ON WaveImpactAsphaltCoverWaveConditionsCalculationEntity (HydraulicLocationCalculationForTargetProbabilityCollectionEntityId ASC)
+;
+
+CREATE INDEX IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_HydraulicLocationEntity
+ ON WaveImpactAsphaltCoverWaveConditionsCalculationEntity (HydraulicLocationEntityId ASC)
+;
+
+CREATE INDEX IXFK_WaveImpactAsphaltCoverWaveConditionsOutputEntity_WaveImpactAsphaltCoverWaveConditionsCalculationEntity
+ ON WaveImpactAsphaltCoverWaveConditionsOutputEntity (WaveImpactAsphaltCoverWaveConditionsCalculationEntityId ASC)
+;
Fisheye: Tag 68c67ec6bb74c35eeecbf0b95983a5c780f6d008 refers to a dead (removed) revision in file `Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_23.1_23.2.sql'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_23.1_24.1.sql
===================================================================
diff -u
--- Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_23.1_24.1.sql (revision 0)
+++ Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_23.1_24.1.sql (revision 68c67ec6bb74c35eeecbf0b95983a5c780f6d008)
@@ -0,0 +1,708 @@
+/*
+Migration script for migrating Riskeer databases.
+SourceProject version: 23.1
+TargetProject version: 24.1
+*/
+PRAGMA foreign_keys = OFF;
+
+ATTACH DATABASE "{0}" AS SOURCEPROJECT;
+
+INSERT INTO AdoptableFailureMechanismSectionResultEntity SELECT * FROM [SOURCEPROJECT].AdoptableFailureMechanismSectionResultEntity;
+INSERT INTO AdoptableFailureMechanismSectionResultEntity(
+ [FailureMechanismSectionEntityId],
+ [IsRelevant],
+ [InitialFailureMechanismResultType],
+ [ManualInitialFailureMechanismResultSectionProbability],
+ [FurtherAnalysisType],
+ [RefinedSectionProbability])
+SELECT
+ [FailureMechanismSectionEntityId],
+ [IsRelevant],
+ [InitialFailureMechanismResultType],
+ [ManualInitialFailureMechanismResultSectionProbability],
+ [FurtherAnalysisType],
+ CASE
+ WHEN [ProbabilityRefinementType] = 2 OR [ProbabilityRefinementType] = 3
+ THEN [RefinedSectionProbability]
+ WHEN [ProbabilityRefinementType] = 1
+ THEN NULL
+ END
+FROM [SOURCEPROJECT].AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity;
+INSERT INTO AssessmentSectionEntity(
+ [AssessmentSectionEntityId],
+ [ProjectEntityId],
+ [HydraulicLocationCalculationCollectionEntity1Id],
+ [HydraulicLocationCalculationCollectionEntity2Id],
+ [Id],
+ [Name],
+ [Comments],
+ [MaximumAllowableFloodingProbability],
+ [SignalFloodingProbability],
+ [NormativeProbabilityType],
+ [Composition],
+ [ReferenceLinePointXml],
+ [AreFailureMechanismsCorrelated])
+SELECT
+ [AssessmentSectionEntityId],
+ [ProjectEntityId],
+ [HydraulicLocationCalculationCollectionEntity1Id],
+ [HydraulicLocationCalculationCollectionEntity2Id],
+ [Id],
+ [Name],
+ [Comments],
+ [MaximumAllowableFloodingProbability],
+ [SignalFloodingProbability],
+ [NormativeProbabilityType],
+ [Composition],
+ [ReferenceLinePointXml],
+ 0
+FROM [SOURCEPROJECT].AssessmentSectionEntity;
+INSERT INTO BackgroundDataEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataEntity;
+INSERT INTO BackgroundDataMetaEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataMetaEntity;
+INSERT INTO CalculationGroupEntity SELECT * FROM [SOURCEPROJECT].CalculationGroupEntity;
+INSERT INTO ClosingStructureEntity SELECT * FROM [SOURCEPROJECT].ClosingStructureEntity;
+INSERT INTO ClosingStructuresCalculationEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresCalculationEntity;
+INSERT INTO ClosingStructuresFailureMechanismMetaEntity(
+ [ClosingStructuresFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [ClosingStructureCollectionSourcePath],
+ [ForeshoreProfileCollectionSourcePath])
+SELECT
+ [ClosingStructuresFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [ClosingStructureCollectionSourcePath],
+ [ForeshoreProfileCollectionSourcePath]
+FROM [SOURCEPROJECT].ClosingStructuresFailureMechanismMetaEntity;
+INSERT INTO DikeProfileEntity SELECT * FROM [SOURCEPROJECT].DikeProfileEntity;
+INSERT INTO DuneErosionFailureMechanismMetaEntity(
+ [DuneErosionFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId])
+SELECT
+ [DuneErosionFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId]
+FROM [SOURCEPROJECT].DuneErosionFailureMechanismMetaEntity;
+INSERT INTO DuneLocationCalculationEntity SELECT * FROM [SOURCEPROJECT].DuneLocationCalculationEntity;
+INSERT INTO DuneLocationCalculationForTargetProbabilityCollectionEntity SELECT * FROM [SOURCEPROJECT].DuneLocationCalculationForTargetProbabilityCollectionEntity;
+INSERT INTO DuneLocationEntity SELECT * FROM [SOURCEPROJECT].DuneLocationEntity;
+INSERT INTO FailureMechanismEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismEntity;
+INSERT INTO FailureMechanismFailureMechanismSectionEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismFailureMechanismSectionEntity;
+INSERT INTO FailureMechanismSectionEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismSectionEntity;
+INSERT INTO ForeshoreProfileEntity SELECT * FROM [SOURCEPROJECT].ForeshoreProfileEntity;
+INSERT INTO GrassCoverErosionInwardsCalculationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsCalculationEntity;
+INSERT INTO GrassCoverErosionInwardsFailureMechanismMetaEntity(
+ [GrassCoverErosionInwardsFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [DikeProfileCollectionSourcePath])
+SELECT
+ [GrassCoverErosionInwardsFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [DikeProfileCollectionSourcePath]
+FROM [SOURCEPROJECT].GrassCoverErosionInwardsFailureMechanismMetaEntity;
+INSERT INTO GrassCoverErosionOutwardsFailureMechanismMetaEntity(
+ [GrassCoverErosionOutwardsFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [ForeshoreProfileCollectionSourcePath])
+SELECT
+ [GrassCoverErosionOutwardsFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [ForeshoreProfileCollectionSourcePath]
+FROM [SOURCEPROJECT].GrassCoverErosionOutwardsFailureMechanismMetaEntity;
+INSERT INTO GrassCoverErosionOutwardsWaveConditionsCalculationEntity (
+ [GrassCoverErosionOutwardsWaveConditionsCalculationEntityId],
+ [CalculationGroupEntityId],
+ [ForeshoreProfileEntityId],
+ [HydraulicLocationEntityId],
+ [HydraulicLocationCalculationForTargetProbabilityCollectionEntityId],
+ [Order],
+ [Name],
+ [Comments],
+ [UseBreakWater],
+ [BreakWaterType],
+ [BreakWaterHeight],
+ [UseForeshore],
+ [Orientation],
+ [UpperBoundaryRevetment],
+ [LowerBoundaryRevetment],
+ [UpperBoundaryWaterLevels],
+ [LowerBoundaryWaterLevels],
+ [StepSize],
+ [CalculationType],
+ [WaterLevelType])
+SELECT
+ [GrassCoverErosionOutwardsWaveConditionsCalculationEntityId],
+ [CalculationGroupEntityId],
+ [ForeshoreProfileEntityId],
+ [HydraulicLocationEntityId],
+ [HydraulicLocationCalculationForTargetProbabilityCollectionEntityId],
+ [Order],
+ [Name],
+ [Comments],
+ [UseBreakWater],
+ [BreakWaterType],
+ [BreakWaterHeight],
+ [UseForeshore],
+ [Orientation],
+ [UpperBoundaryRevetment],
+ [LowerBoundaryRevetment],
+ [UpperBoundaryWaterLevels],
+ [LowerBoundaryWaterLevels],
+ CASE
+ WHEN [StepSize] = 1
+ THEN 0.5
+ WHEN [StepSize] = 2
+ THEN 1
+ WHEN [StepSize] = 3
+ THEN 2
+ END,
+ [CalculationType],
+ [WaterLevelType]
+FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsCalculationEntity;
+INSERT INTO HeightStructureEntity SELECT * FROM [SOURCEPROJECT].HeightStructureEntity;
+INSERT INTO HeightStructuresCalculationEntity SELECT * FROM [SOURCEPROJECT].HeightStructuresCalculationEntity;
+INSERT INTO HeightStructuresFailureMechanismMetaEntity(
+ [HeightStructuresFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [HeightStructureCollectionSourcePath],
+ [ForeshoreProfileCollectionSourcePath])
+SELECT
+ [HeightStructuresFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [HeightStructureCollectionSourcePath],
+ [ForeshoreProfileCollectionSourcePath]
+FROM [SOURCEPROJECT].HeightStructuresFailureMechanismMetaEntity;
+INSERT INTO HydraulicBoundaryDataEntity SELECT * FROM [SOURCEPROJECT].HydraulicBoundaryDataEntity;
+INSERT INTO HydraulicBoundaryDatabaseEntity SELECT * FROM [SOURCEPROJECT].HydraulicBoundaryDatabaseEntity;
+INSERT INTO HydraulicLocationCalculationCollectionEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationCalculationCollectionEntity;
+INSERT INTO HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity;
+INSERT INTO HydraulicLocationCalculationEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationCalculationEntity;
+INSERT INTO HydraulicLocationCalculationForTargetProbabilityCollectionEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationCalculationForTargetProbabilityCollectionEntity;
+INSERT INTO HydraulicLocationCalculationForTargetProbabilityCollectionHydraulicLocationCalculationEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationCalculationForTargetProbabilityCollectionHydraulicLocationCalculationEntity;
+INSERT INTO HydraulicLocationEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationEntity;
+INSERT INTO MacroStabilityInwardsCalculationEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsCalculationEntity;
+INSERT INTO MacroStabilityInwardsCharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsCharacteristicPointEntity;
+INSERT INTO MacroStabilityInwardsFailureMechanismMetaEntity(
+ [MacroStabilityInwardsFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [StochasticSoilModelCollectionSourcePath],
+ [SurfaceLineCollectionSourcePath])
+SELECT
+ [MacroStabilityInwardsFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [StochasticSoilModelCollectionSourcePath],
+ [SurfaceLineCollectionSourcePath]
+FROM [SOURCEPROJECT].MacroStabilityInwardsFailureMechanismMetaEntity;
+INSERT INTO MacroStabilityInwardsFailureMechanismSectionConfigurationEntity(
+ [FailureMechanismSectionEntityId],
+ [A])
+SELECT
+ [FailureMechanismSectionEntityId],
+ 1
+FROM FailureMechanismEntity
+JOIN FailureMechanismFailureMechanismSectionEntity USING(FailureMechanismEntityId)
+WHERE FailureMechanismType = 2;
+INSERT INTO MacroStabilityInwardsPreconsolidationStressEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsPreconsolidationStressEntity;
+INSERT INTO MacroStabilityInwardsSoilLayerOneDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilLayerOneDEntity;
+INSERT INTO MacroStabilityInwardsSoilLayerTwoDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilLayerTwoDEntity;
+INSERT INTO MacroStabilityInwardsSoilProfileOneDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilProfileOneDEntity;
+INSERT INTO MacroStabilityInwardsSoilProfileTwoDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilProfileTwoDEntity;
+INSERT INTO MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity;
+INSERT INTO MacroStabilityInwardsStochasticSoilProfileEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsStochasticSoilProfileEntity;
+INSERT INTO NonAdoptableFailureMechanismSectionResultEntity SELECT * FROM [SOURCEPROJECT].NonAdoptableFailureMechanismSectionResultEntity;
+INSERT INTO NonAdoptableFailureMechanismSectionResultEntity(
+ [FailureMechanismSectionEntityId],
+ [IsRelevant],
+ [InitialFailureMechanismResultType],
+ [ManualInitialFailureMechanismResultSectionProbability],
+ [FurtherAnalysisType],
+ [RefinedSectionProbability])
+SELECT
+ [FailureMechanismSectionEntityId],
+ [IsRelevant],
+ [InitialFailureMechanismResultType],
+ [ManualInitialFailureMechanismResultSectionProbability],
+ [FurtherAnalysisType],
+ [RefinedSectionProbability]
+FROM [SOURCEPROJECT].NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity;
+INSERT INTO PipingCharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].PipingCharacteristicPointEntity;
+INSERT INTO PipingFailureMechanismMetaEntity(
+ [PipingFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [WaterVolumetricWeight],
+ [StochasticSoilModelCollectionSourcePath],
+ [SurfaceLineCollectionSourcePath],
+ [ScenarioConfigurationType])
+SELECT
+ [PipingFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [WaterVolumetricWeight],
+ [StochasticSoilModelCollectionSourcePath],
+ [SurfaceLineCollectionSourcePath],
+ [PipingScenarioConfigurationType]
+FROM [SOURCEPROJECT].PipingFailureMechanismMetaEntity;
+INSERT INTO PipingFailureMechanismSectionConfigurationEntity(
+ [PipingFailureMechanismSectionConfigurationEntityId],
+ [FailureMechanismSectionEntityId],
+ [ScenarioConfigurationType],
+ [A])
+SELECT
+ [PipingScenarioConfigurationPerFailureMechanismSectionEntityId],
+ [FailureMechanismSectionEntityId],
+ [PipingScenarioConfigurationPerFailureMechanismSectionType],
+ 1
+FROM [SOURCEPROJECT].PipingScenarioConfigurationPerFailureMechanismSectionEntity;
+INSERT INTO PipingSoilLayerEntity SELECT * FROM [SOURCEPROJECT].PipingSoilLayerEntity;
+INSERT INTO PipingSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingSoilProfileEntity;
+INSERT INTO PipingStochasticSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingStochasticSoilProfileEntity;
+INSERT INTO ProbabilisticPipingCalculationEntity SELECT * FROM [SOURCEPROJECT].ProbabilisticPipingCalculationEntity;
+INSERT INTO ProjectEntity SELECT * FROM [SOURCEPROJECT].ProjectEntity;
+INSERT INTO SemiProbabilisticPipingCalculationEntity SELECT * FROM [SOURCEPROJECT].SemiProbabilisticPipingCalculationEntity;
+INSERT INTO SpecificFailureMechanismEntity(
+ [SpecificFailureMechanismEntityId],
+ [AssessmentSectionEntityId],
+ [Name],
+ [Code],
+ [Order],
+ [InAssembly],
+ [FailureMechanismSectionCollectionSourcePath],
+ [InAssemblyInputComments],
+ [InAssemblyOutputComments],
+ [NotInAssemblyComments],
+ [FailureMechanismAssemblyResultProbabilityResultType],
+ [FailureMechanismAssemblyResultManualFailureMechanismAssemblyProbability])
+SELECT
+ [SpecificFailureMechanismEntityId],
+ [AssessmentSectionEntityId],
+ [Name],
+ [Code],
+ [Order],
+ [InAssembly],
+ [FailureMechanismSectionCollectionSourcePath],
+ [InAssemblyInputComments],
+ [InAssemblyOutputComments],
+ [NotInAssemblyComments],
+ [FailureMechanismAssemblyResultProbabilityResultType],
+ [FailureMechanismAssemblyResultManualFailureMechanismAssemblyProbability]
+FROM [SOURCEPROJECT].SpecificFailureMechanismEntity;
+INSERT INTO SpecificFailureMechanismFailureMechanismSectionEntity SELECT * FROM [SOURCEPROJECT].SpecificFailureMechanismFailureMechanismSectionEntity;
+INSERT INTO StabilityPointStructureEntity SELECT * FROM [SOURCEPROJECT].StabilityPointStructureEntity;
+INSERT INTO StabilityPointStructuresCalculationEntity SELECT * FROM [SOURCEPROJECT].StabilityPointStructuresCalculationEntity;
+INSERT INTO StabilityPointStructuresFailureMechanismMetaEntity(
+ [StabilityPointStructuresFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [ForeshoreProfileCollectionSourcePath],
+ [StabilityPointStructureCollectionSourcePath])
+SELECT
+ [StabilityPointStructuresFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [ForeshoreProfileCollectionSourcePath],
+ [StabilityPointStructureCollectionSourcePath]
+FROM [SOURCEPROJECT].StabilityPointStructuresFailureMechanismMetaEntity;
+INSERT INTO StabilityStoneCoverFailureMechanismMetaEntity(
+ [StabilityStoneCoverFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [ForeshoreProfileCollectionSourcePath])
+SELECT
+ [StabilityStoneCoverFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [ForeshoreProfileCollectionSourcePath]
+FROM [SOURCEPROJECT].StabilityStoneCoverFailureMechanismMetaEntity;
+INSERT INTO StabilityStoneCoverWaveConditionsCalculationEntity(
+ [StabilityStoneCoverWaveConditionsCalculationEntityId],
+ [CalculationGroupEntityId],
+ [ForeshoreProfileEntityId],
+ [HydraulicLocationEntityId],
+ [HydraulicLocationCalculationForTargetProbabilityCollectionEntityId],
+ [Order],
+ [Name],
+ [Comments],
+ [UseBreakWater],
+ [BreakWaterType],
+ [BreakWaterHeight],
+ [UseForeshore],
+ [Orientation],
+ [UpperBoundaryRevetment],
+ [LowerBoundaryRevetment],
+ [UpperBoundaryWaterLevels],
+ [LowerBoundaryWaterLevels],
+ [StepSize],
+ [CalculationType],
+ [WaterLevelType])
+SELECT
+ [StabilityStoneCoverWaveConditionsCalculationEntityId],
+ [CalculationGroupEntityId],
+ [ForeshoreProfileEntityId],
+ [HydraulicLocationEntityId],
+ [HydraulicLocationCalculationForTargetProbabilityCollectionEntityId],
+ [Order],
+ [Name],
+ [Comments],
+ [UseBreakWater],
+ [BreakWaterType],
+ [BreakWaterHeight],
+ [UseForeshore],
+ [Orientation],
+ [UpperBoundaryRevetment],
+ [LowerBoundaryRevetment],
+ [UpperBoundaryWaterLevels],
+ [LowerBoundaryWaterLevels],
+ CASE
+ WHEN [StepSize] = 1
+ THEN 0.5
+ WHEN [StepSize] = 2
+ THEN 1
+ WHEN [StepSize] = 3
+ THEN 2
+ END,
+ [CalculationType],
+ [WaterLevelType]
+FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsCalculationEntity;
+INSERT INTO StochastEntity SELECT * FROM [SOURCEPROJECT].StochastEntity;
+INSERT INTO StochasticSoilModelEntity SELECT * FROM [SOURCEPROJECT].StochasticSoilModelEntity;
+INSERT INTO SurfaceLineEntity SELECT * FROM [SOURCEPROJECT].SurfaceLineEntity;
+INSERT INTO WaveImpactAsphaltCoverFailureMechanismMetaEntity(
+ [WaveImpactAsphaltCoverFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [ForeshoreProfileCollectionSourcePath])
+SELECT
+ [WaveImpactAsphaltCoverFailureMechanismMetaEntityId],
+ [FailureMechanismEntityId],
+ [ForeshoreProfileCollectionSourcePath]
+FROM [SOURCEPROJECT].WaveImpactAsphaltCoverFailureMechanismMetaEntity;
+INSERT INTO WaveImpactAsphaltCoverWaveConditionsCalculationEntity(
+ [WaveImpactAsphaltCoverWaveConditionsCalculationEntityId],
+ [CalculationGroupEntityId],
+ [ForeshoreProfileEntityId],
+ [HydraulicLocationEntityId],
+ [HydraulicLocationCalculationForTargetProbabilityCollectionEntityId],
+ [Order],
+ [Name],
+ [Comments],
+ [UseBreakWater],
+ [BreakWaterType],
+ [BreakWaterHeight],
+ [UseForeshore],
+ [Orientation],
+ [UpperBoundaryRevetment],
+ [LowerBoundaryRevetment],
+ [UpperBoundaryWaterLevels],
+ [LowerBoundaryWaterLevels],
+ [StepSize],
+ [WaterLevelType])
+SELECT
+ [WaveImpactAsphaltCoverWaveConditionsCalculationEntityId],
+ [CalculationGroupEntityId],
+ [ForeshoreProfileEntityId],
+ [HydraulicLocationEntityId],
+ [HydraulicLocationCalculationForTargetProbabilityCollectionEntityId],
+ [Order],
+ [Name],
+ [Comments],
+ [UseBreakWater],
+ [BreakWaterType],
+ [BreakWaterHeight],
+ [UseForeshore],
+ [Orientation],
+ [UpperBoundaryRevetment],
+ [LowerBoundaryRevetment],
+ [UpperBoundaryWaterLevels],
+ [LowerBoundaryWaterLevels],
+ CASE
+ WHEN [StepSize] = 1
+ THEN 0.5
+ WHEN [StepSize] = 2
+ THEN 1
+ WHEN [StepSize] = 3
+ THEN 2
+ END,
+ [WaterLevelType]
+FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsCalculationEntity;
+
+INSERT INTO VersionEntity (
+ [VersionId],
+ [Version],
+ [Timestamp],
+ [FingerPrint])
+SELECT [VersionId],
+ "24.1",
+ [Timestamp],
+ [FingerPrint]
+FROM [SOURCEPROJECT].VersionEntity;
+
+/*
+Outputs that used HydraRing are not migrated
+*/
+-- ClosingStructuresOutputEntity
+-- DuneLocationCalculationOutputEntity
+-- GrassCoverErosionInwardsDikeHeightOutputEntity
+-- GrassCoverErosionInwardsOutputEntity
+-- GrassCoverErosionInwardsOvertoppingRateOutputEntity
+-- GrassCoverErosionOutwardsWaveConditionsOutputEntity
+-- HeightStructuresOutputEntity
+-- HydraulicLocationOutputEntity
+-- SemiProbabilisticPipingCalculationOutputEntity
+-- ProbabilisticPipingCalculationOutputEntity
+-- StabilityPointStructuresOutputEntity
+-- StabilityStoneCoverWaveConditionsOutputEntity
+-- WaveImpactAsphaltCoverWaveConditionsOutputEntity
+-- FaultTreeIllustrationPointEntity
+-- FaultTreeIllustrationPointStochastEntity
+-- FaultTreeSubMechanismIllustrationPointEntity
+-- GeneralResultFaultTreeIllustrationPointEntity
+-- GeneralResultFaultTreeIllustrationPointStochastEntity
+-- GeneralResultSubMechanismIllustrationPointEntity
+-- GeneralResultSubMechanismIllustrationPointStochastEntity
+-- IllustrationPointResultEntity
+-- SubMechanismIllustrationPointEntity
+-- SubMechanismIllustrationPointStochastEntity
+-- TopLevelFaultTreeIllustrationPointEntity
+-- TopLevelSubMechanismIllustrationPointEntity
+-- MacroStabilityInwardsCalculationOutputEntity
+
+/*
+Tables that only have length effect columns are not migrated:
+*/
+
+-- GrassCoverSlipOffInwardsFailureMechanismMetaEntity
+-- GrassCoverSlipOffOutwardsFailureMechanismMetaEntity
+-- MicrostabilityFailureMechanismMetaEntity
+-- PipingStructureFailureMechanismMetaEntity
+-- WaterPressureAsphaltCoverFailureMechanismMetaEntity
+
+/*
+Write migration logging
+*/
+ATTACH DATABASE "{1}" AS LOGDATABASE;
+
+CREATE TABLE IF NOT EXISTS [LOGDATABASE].'MigrationLogEntity'
+(
+ 'MigrationLogEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FromVersion' VARCHAR(20) NOT NULL,
+ 'ToVersion' VARCHAR(20) NOT NULL,
+ 'LogMessage' TEXT NOT NULL);
+
+INSERT INTO [LOGDATABASE].MigrationLogEntity (
+ [FromVersion],
+ [ToVersion],
+ [LogMessage])
+VALUES (
+ "23.1",
+ "24.1",
+ "Gevolgen van de migratie van versie 23.1 naar versie 24.1:");
+
+CREATE TEMP TABLE TempLogOutputDeleted
+(
+ 'NrDeleted' INTEGER NOT NULL
+);
+
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].HydraulicLocationOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].ClosingStructuresOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].DuneLocationCalculationOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionInwardsDikeHeightOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionInwardsOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionInwardsOvertoppingRateOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].HeightStructuresOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].StabilityPointStructuresOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].ProbabilisticPipingCalculationOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].SemiProbabilisticPipingCalculationOutputEntity;
+INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].MacroStabilityInwardsCalculationOutputEntity;
+
+INSERT INTO [LOGDATABASE].MigrationLogEntity (
+ [FromVersion],
+ [ToVersion],
+ [LogMessage])
+SELECT
+ "23.1",
+ "24.1",
+ "* Alle berekende resultaten zijn verwijderd."
+FROM TempLogOutputDeleted
+WHERE [NrDeleted] > 0
+LIMIT 1;
+
+INSERT INTO [LOGDATABASE].MigrationLogEntity (
+ [FromVersion],
+ [ToVersion],
+[LogMessage])
+VALUES ("23.1",
+ "24.1",
+ "* Omdat alleen faalkansen op vakniveau een rol spelen in de assemblage, zijn de assemblageresultaten voor de faalmechanismen aangepast:
+ + De initiële faalkansen per doorsnede zijn verwijderd in het geval van de optie 'Handmatig invullen'.
+ + De aangescherpte faalkansen per doorsnede zijn verwijderd in het geval van de optie 'Per doorsnede' of 'Beide'.
+ + De assemblagemethode 'Automatisch berekenen o.b.v. slechtste doorsnede of vak' is vervangen door 'Automatisch berekenen o.b.v. slechtste vak'.");
+
+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, 'Microstabiliteit');
+INSERT INTO TempFailureMechanisms VALUES (14, 'Wateroverdruk bij asfaltbekleding');
+INSERT INTO TempFailureMechanisms VALUES (15, 'Grasbekleding afschuiven binnentalud');
+
+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 TempChanges (
+ [AssessmentSectionId],
+ [AssessmentSectionName],
+ [FailureMechanismId],
+ [FailureMechanismName],
+ [msg]
+);
+
+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 [AssessmentSectionId], [FailureMechanismId]
+ ),
+ 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 FailureMechanismMessages
+ WHERE [AssessmentSectionId] IS NOT NULL
+ )
+ UNION
+ SELECT *
+ FROM (
+ 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
+ "23.1",
+ "24.1",
+ 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
+ " + Faalmechanisme: '" || [FailureMechanismName] || "'"
+ ELSE
+ " - " || [msg]
+END
+END
+FROM AssessmentSectionFailureMechanismMessages;
+
+DROP TABLE TempFailureMechanisms;
+DROP TABLE TempAssessmentSectionFailureMechanism;
+DROP TABLE TempChanges;
+
+DROP TABLE TempLogOutputDeleted;
+
+INSERT INTO [LOGDATABASE].MigrationLogEntity (
+ [FromVersion],
+ [ToVersion],
+ [LogMessage])
+SELECT "23.1",
+ "24.1",
+ "* Geen aanpassingen."
+WHERE (
+ SELECT COUNT() FROM [LOGDATABASE].MigrationLogEntity
+ WHERE [FromVersion] = "23.1"
+) IS 1;
+
+DETACH LOGDATABASE;
+
+DETACH SOURCEPROJECT;
+
+PRAGMA foreign_keys = ON;
\ No newline at end of file
Index: Riskeer/Migration/src/Riskeer.Migration.Core/Riskeer.Migration.Core.csproj
===================================================================
diff -u -r786a8396c99eedb03a0f98445f9378cb7e4b6234 -r68c67ec6bb74c35eeecbf0b95983a5c780f6d008
--- Riskeer/Migration/src/Riskeer.Migration.Core/Riskeer.Migration.Core.csproj (.../Riskeer.Migration.Core.csproj) (revision 786a8396c99eedb03a0f98445f9378cb7e4b6234)
+++ Riskeer/Migration/src/Riskeer.Migration.Core/Riskeer.Migration.Core.csproj (.../Riskeer.Migration.Core.csproj) (revision 68c67ec6bb74c35eeecbf0b95983a5c780f6d008)
@@ -48,8 +48,8 @@
-
-
+
+
Index: Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationIntegrationTest.cs
===================================================================
diff -u -rd9119b8f4a74fb2a6f3ececeaea94f0e58513c52 -r68c67ec6bb74c35eeecbf0b95983a5c780f6d008
--- Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationIntegrationTest.cs (.../MigrationIntegrationTest.cs) (revision d9119b8f4a74fb2a6f3ececeaea94f0e58513c52)
+++ Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationIntegrationTest.cs (.../MigrationIntegrationTest.cs) (revision 68c67ec6bb74c35eeecbf0b95983a5c780f6d008)
@@ -185,7 +185,7 @@
yield return new FileToMigrate("Empty valid Release 19.1.risk", "21.1");
yield return new FileToMigrate("Empty valid Release 21.1.risk", "22.1");
yield return new FileToMigrate("Empty valid Release 22.1.risk", "23.1");
- yield return new FileToMigrate("Empty valid Release 23.1.risk", "23.2");
+ yield return new FileToMigrate("Empty valid Release 23.1.risk", "24.1");
}
private class FileToMigrate
Fisheye: Tag 68c67ec6bb74c35eeecbf0b95983a5c780f6d008 refers to a dead (removed) revision in file `Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationTo232IntegrationTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationTo241IntegrationTest.cs
===================================================================
diff -u
--- Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationTo241IntegrationTest.cs (revision 0)
+++ Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationTo241IntegrationTest.cs (revision 68c67ec6bb74c35eeecbf0b95983a5c780f6d008)
@@ -0,0 +1,989 @@
+// Copyright (C) Stichting Deltares and State of the Netherlands 2024. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Riskeer.Migration.Core;
+using Riskeer.Migration.Core.TestUtil;
+
+namespace Riskeer.Migration.Integration.Test
+{
+ public class MigrationTo241IntegrationTest
+ {
+ private const string newVersion = "24.1";
+
+ [Test]
+ [TestCaseSource(nameof(GetMigrationProjectsWithMessages))]
+ public void Given231Project_WhenUpgradedTo232_ThenProjectAsExpected(string fileName, IEnumerable expectedMessages)
+ {
+ // Given
+ string sourceFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Migration.Core,
+ fileName);
+ var fromVersionedFile = new ProjectVersionedFile(sourceFilePath);
+
+ string targetFilePath = TestHelper.GetScratchPadPath(nameof(Given231Project_WhenUpgradedTo232_ThenProjectAsExpected));
+ string logFilePath = TestHelper.GetScratchPadPath(string.Concat(nameof(Given231Project_WhenUpgradedTo232_ThenProjectAsExpected), ".log"));
+ var migrator = new ProjectFileMigrator
+ {
+ LogPath = logFilePath
+ };
+
+ using (new FileDisposeHelper(logFilePath))
+ using (new FileDisposeHelper(targetFilePath))
+ {
+ // When
+ migrator.Migrate(fromVersionedFile, newVersion, targetFilePath);
+
+ // Then
+ using (var reader = new MigratedDatabaseReader(targetFilePath))
+ {
+ AssertTablesContentMigrated(reader, sourceFilePath);
+
+ AssertAssessmentSection(reader, sourceFilePath);
+
+ AssertGrassCoverErosionOutwardsWaveConditionsCalculation(reader, sourceFilePath);
+ AssertStabilityStoneCoverWaveConditionsCalculation(reader, sourceFilePath);
+ AssertWaveImpactAsphaltCoverWaveConditionsCalculation(reader, sourceFilePath);
+
+ AssertClosingStructuresFailureMechanismMetaEntity(reader, sourceFilePath);
+ AssertDuneErosionFailureMechanismMetaEntity(reader, sourceFilePath);
+ AssertGrassCoverErosionInwardsFailureMechanismMetaEntity(reader, sourceFilePath);
+ AssertGrassCoverErosionOutwardsFailureMechanismMetaEntity(reader, sourceFilePath);
+ AssertHeightStructuresFailureMechanismMetaEntity(reader, sourceFilePath);
+ AssertStabilityStoneCoverFailureMechanismMetaEntity(reader, sourceFilePath);
+ AssertStabilityPointStructuresFailureMechanismMetaEntity(reader, sourceFilePath);
+ AssertWaveImpactAsphaltCoverFailureMechanismMetaEntity(reader, sourceFilePath);
+ AssertSpecificFailureMechanismMetaEntity(reader, sourceFilePath);
+
+ AssertAdoptableFailureMechanismSectionResult(reader, sourceFilePath);
+ AssertNonAdoptableFailureMechanismSectionResult(reader, sourceFilePath);
+
+ AssertVersions(reader);
+ AssertDatabase(reader);
+
+ AssertHydraulicLocationOutput(reader);
+ AssertDuneLocationOutput(reader);
+
+ AssertGrassCoverErosionInwardsOutput(reader);
+
+ AssertGrassCoverErosionOutwardsOutput(reader);
+ AssertStabilityStoneCoverOutput(reader);
+ AssertWaveImpactAsphaltCoverOutput(reader);
+
+ AssertClosingStructuresOutput(reader);
+ AssertHeightStructuresOutput(reader);
+ AssertStabilityPointStructuresOutput(reader);
+
+ AssertMacroStabilityInwardsFailureMechanismMetaEntity(reader, sourceFilePath);
+ AssertMacroStabilityInwardsFailureMechanismSectionConfiguration(reader, sourceFilePath);
+ AssertMacroStabilityInwardsOutput(reader);
+
+ AssertPipingFailureMechanismMetaEntity(reader, sourceFilePath);
+ AssertPipingFailureMechanismSectionConfiguration(reader, sourceFilePath);
+ AssertPipingOutput(reader);
+
+ AssertIllustrationPointResults(reader);
+ }
+
+ AssertLogDatabase(logFilePath, expectedMessages);
+ }
+ }
+
+ private static IEnumerable GetMigrationProjectsWithMessages()
+ {
+ const string allCalculatedResultsRemovedMessage = "* Alle berekende resultaten zijn verwijderd.";
+ string adjustedAssemblyResultsMigrationMessage =
+ $"* Omdat alleen faalkansen op vakniveau een rol spelen in de assemblage, zijn de assemblageresultaten voor de faalmechanismen aangepast:{Environment.NewLine}" +
+ $" + De initiële faalkansen per doorsnede zijn verwijderd in het geval van de optie 'Handmatig invullen'.{Environment.NewLine}" +
+ $" + De aangescherpte faalkansen per doorsnede zijn verwijderd in het geval van de optie 'Per doorsnede' of 'Beide'.{Environment.NewLine}" +
+ " + De assemblagemethode 'Automatisch berekenen o.b.v. slechtste doorsnede of vak' is vervangen door 'Automatisch berekenen o.b.v. slechtste vak'.";
+ yield return new TestCaseData("MigrationTestProject231NoOutput.risk", new[]
+ {
+ adjustedAssemblyResultsMigrationMessage
+ });
+
+ yield return new TestCaseData("MigrationTestProject231VariousFailureMechanismSectionResultConfigurations.risk", new[]
+ {
+ adjustedAssemblyResultsMigrationMessage
+ });
+
+ // This file contains all configured failure mechanisms (except Dunes and MacroStabilityInwards) with output.
+ // The mechanisms Dunes and MacroStabilityInwards have different assessment sections, and are therefore put in different test files.
+ yield return new TestCaseData("MigrationTestProject231WithOutput.risk", new[]
+ {
+ allCalculatedResultsRemovedMessage,
+ adjustedAssemblyResultsMigrationMessage
+ });
+
+ yield return new TestCaseData("MigrationTestProject231DunesWithOutput.risk", new[]
+ {
+ allCalculatedResultsRemovedMessage,
+ adjustedAssemblyResultsMigrationMessage
+ });
+
+ yield return new TestCaseData("MigrationTestProject231MacroStabilityInwardsWithOutput.risk", new[]
+ {
+ allCalculatedResultsRemovedMessage,
+ adjustedAssemblyResultsMigrationMessage
+ });
+
+ yield return new TestCaseData("MigrationTestProject231RevetmentCalculations.risk", new[]
+ {
+ adjustedAssemblyResultsMigrationMessage
+ });
+ }
+
+ 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.[Id] IS OLD.[Id] " +
+ "AND NEW.[Name] IS OLD.[Name] " +
+ "AND NEW.[Comments] IS OLD.[Comments] " +
+ "AND NEW.[MaximumAllowableFloodingProbability] = OLD.[MaximumAllowableFloodingProbability] " +
+ "AND NEW.[SignalFloodingProbability] = OLD.[SignalFloodingProbability] " +
+ "AND NEW.[NormativeProbabilityType] = OLD.[NormativeProbabilityType] " +
+ "AND NEW.[Composition] = OLD.[Composition] " +
+ "AND NEW.[ReferenceLinePointXml] = OLD.[ReferenceLinePointXml]" +
+ "AND NEW.[AreFailureMechanismsCorrelated] = 0; " +
+ "DETACH SOURCEPROJECT;";
+
+ reader.AssertReturnedDataIsValid(validateAssessmentSection);
+ }
+
+ private static void AssertTablesContentMigrated(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string[] tables =
+ {
+ "AssessmentSectionEntity",
+ "BackgroundDataEntity",
+ "BackgroundDataMetaEntity",
+ "CalculationGroupEntity",
+ "ClosingStructureEntity",
+ "ClosingStructuresCalculationEntity",
+ "ClosingStructuresFailureMechanismMetaEntity",
+ "DikeProfileEntity",
+ "DuneErosionFailureMechanismMetaEntity",
+ "DuneLocationCalculationEntity",
+ "DuneLocationCalculationForTargetProbabilityCollectionEntity",
+ "DuneLocationEntity",
+ "FailureMechanismEntity",
+ "FailureMechanismFailureMechanismSectionEntity",
+ "FailureMechanismSectionEntity",
+ "ForeshoreProfileEntity",
+ "GrassCoverErosionInwardsCalculationEntity",
+ "GrassCoverErosionInwardsFailureMechanismMetaEntity",
+ "GrassCoverErosionOutwardsFailureMechanismMetaEntity",
+ "GrassCoverErosionOutwardsWaveConditionsCalculationEntity",
+ "HeightStructureEntity",
+ "HeightStructuresCalculationEntity",
+ "HeightStructuresFailureMechanismMetaEntity",
+ "HydraulicBoundaryDataEntity",
+ "HydraulicBoundaryDatabaseEntity",
+ "HydraulicLocationCalculationCollectionEntity",
+ "HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity",
+ "HydraulicLocationCalculationEntity",
+ "HydraulicLocationCalculationForTargetProbabilityCollectionEntity",
+ "HydraulicLocationCalculationForTargetProbabilityCollectionHydraulicLocationCalculationEntity",
+ "HydraulicLocationEntity",
+ "MacroStabilityInwardsCalculationEntity",
+ "MacroStabilityInwardsCharacteristicPointEntity",
+ "MacroStabilityInwardsFailureMechanismMetaEntity",
+ "MacroStabilityInwardsPreconsolidationStressEntity",
+ "MacroStabilityInwardsSoilLayerOneDEntity",
+ "MacroStabilityInwardsSoilLayerTwoDEntity",
+ "MacroStabilityInwardsSoilProfileOneDEntity",
+ "MacroStabilityInwardsSoilProfileTwoDEntity",
+ "MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity",
+ "MacroStabilityInwardsStochasticSoilProfileEntity",
+ "PipingCharacteristicPointEntity",
+ "PipingFailureMechanismMetaEntity",
+ "PipingSoilLayerEntity",
+ "PipingSoilProfileEntity",
+ "PipingStochasticSoilProfileEntity",
+ "ProbabilisticPipingCalculationEntity",
+ "ProjectEntity",
+ "SemiProbabilisticPipingCalculationEntity",
+ "SpecificFailureMechanismEntity",
+ "SpecificFailureMechanismFailureMechanismSectionEntity",
+ "StabilityPointStructureEntity",
+ "StabilityPointStructuresCalculationEntity",
+ "StabilityPointStructuresFailureMechanismMetaEntity",
+ "StabilityStoneCoverFailureMechanismMetaEntity",
+ "StabilityStoneCoverWaveConditionsCalculationEntity",
+ "StochastEntity",
+ "StochasticSoilModelEntity",
+ "SurfaceLineEntity",
+ "VersionEntity",
+ "WaveImpactAsphaltCoverFailureMechanismMetaEntity",
+ "WaveImpactAsphaltCoverWaveConditionsCalculationEntity"
+ };
+
+ foreach (string table in tables)
+ {
+ string validateMigratedTable =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ $"SELECT COUNT() = (SELECT COUNT() FROM [SOURCEPROJECT].{table}) " +
+ $"FROM {table};" +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMigratedTable);
+ }
+ }
+
+ private static void AssertLogDatabase(string logFilePath, IEnumerable expectedMessages)
+ {
+ using (var reader = new MigrationLogDatabaseReader(logFilePath))
+ {
+ ReadOnlyCollection messages = reader.GetMigrationLogMessages();
+
+ Assert.AreEqual(expectedMessages.Count() + 1, messages.Count);
+ var i = 0;
+ MigrationLogTestHelper.AssertMigrationLogMessageEqual(
+ new MigrationLogMessage("23.1", newVersion, $"Gevolgen van de migratie van versie 23.1 naar versie {newVersion}:"),
+ messages[i++]);
+
+ foreach (string expectedMessage in expectedMessages)
+ {
+ MigrationLogTestHelper.AssertMigrationLogMessageEqual(
+ new MigrationLogMessage("23.1", newVersion, $"{expectedMessage}"),
+ messages[i++]);
+ }
+ }
+ }
+
+ private static void AssertVersions(MigratedDatabaseReader reader)
+ {
+ const string validateVersion =
+ "SELECT COUNT() = 1 " +
+ "FROM [VersionEntity] " +
+ "WHERE [Version] = \"24.1\";";
+ reader.AssertReturnedDataIsValid(validateVersion);
+ }
+
+ private static void AssertDatabase(MigratedDatabaseReader reader)
+ {
+ const string validateForeignKeys =
+ "PRAGMA foreign_keys;";
+ reader.AssertReturnedDataIsValid(validateForeignKeys);
+ }
+
+ # region Revetment
+
+ private static void AssertGrassCoverErosionOutwardsWaveConditionsCalculation(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateCalculation =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.GrassCoverErosionOutwardsWaveConditionsCalculationEntity " +
+ ") " +
+ "FROM GrassCoverErosionOutwardsWaveConditionsCalculationEntity NEW " +
+ "JOIN SOURCEPROJECT.GrassCoverErosionOutwardsWaveConditionsCalculationEntity OLD USING(GrassCoverErosionOutwardsWaveConditionsCalculationEntityId) " +
+ "WHERE NEW.[CalculationGroupEntityId] = OLD.[CalculationGroupEntityId] " +
+ "AND NEW.[ForeshoreProfileEntityId] IS OLD.[ForeshoreProfileEntityId] " +
+ "AND NEW.[HydraulicLocationEntityId] IS OLD.[HydraulicLocationEntityId] " +
+ "AND NEW.[HydraulicLocationCalculationForTargetProbabilityCollectionEntityId] IS OLD.[HydraulicLocationCalculationForTargetProbabilityCollectionEntityId] " +
+ "AND NEW.\"Order\" = OLD.\"Order\" " +
+ "AND NEW.[Name] IS OLD.[Name] " +
+ "AND NEW.[Comments] IS OLD.[Comments] " +
+ "AND NEW.[UseBreakWater] = OLD.[UseBreakWater] " +
+ "AND NEW.[BreakWaterType] = OLD.[BreakWaterType] " +
+ "AND NEW.[BreakWaterHeight] IS OLD.[BreakWaterHeight] " +
+ "AND NEW.[UseForeshore] = OLD.[UseForeshore] " +
+ "AND NEW.[Orientation] IS OLD.[Orientation] " +
+ "AND NEW.[UpperBoundaryRevetment] IS OLD.[UpperBoundaryRevetment] " +
+ "AND NEW.[LowerBoundaryRevetment] IS OLD.[LowerBoundaryRevetment] " +
+ "AND NEW.[UpperBoundaryWaterLevels] IS OLD.[UpperBoundaryWaterLevels] " +
+ "AND NEW.[LowerBoundaryWaterLevels] IS OLD.[LowerBoundaryWaterLevels] " +
+ "AND NEW.[CalculationType] = OLD.[CalculationType] " +
+ "AND NEW.[WaterLevelType] = OLD.[WaterLevelType];" +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateCalculation);
+
+ AssertWaveConditionsStepSize(reader, sourceFilePath, "GrassCoverErosionOutwardsWaveConditionsCalculationEntity");
+ }
+
+ private static void AssertStabilityStoneCoverWaveConditionsCalculation(MigratedDatabaseReader reader,
+ string sourceFilePath)
+ {
+ string validateCalculation =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.StabilityStoneCoverWaveConditionsCalculationEntity " +
+ ") " +
+ "FROM StabilityStoneCoverWaveConditionsCalculationEntity NEW " +
+ "JOIN SOURCEPROJECT.StabilityStoneCoverWaveConditionsCalculationEntity OLD USING(StabilityStoneCoverWaveConditionsCalculationEntityId) " +
+ "WHERE NEW.[CalculationGroupEntityId] = OLD.[CalculationGroupEntityId] " +
+ "AND NEW.[ForeshoreProfileEntityId] IS OLD.[ForeshoreProfileEntityId] " +
+ "AND NEW.[HydraulicLocationEntityId] IS OLD.[HydraulicLocationEntityId] " +
+ "AND NEW.[HydraulicLocationCalculationForTargetProbabilityCollectionEntityId] IS OLD.[HydraulicLocationCalculationForTargetProbabilityCollectionEntityId] " +
+ "AND NEW.\"Order\" = OLD.\"Order\" " +
+ "AND NEW.[Name] IS OLD.[Name] " +
+ "AND NEW.[Comments] IS OLD.[Comments] " +
+ "AND NEW.[UseBreakWater] = OLD.[UseBreakWater] " +
+ "AND NEW.[BreakWaterType] = OLD.[BreakWaterType] " +
+ "AND NEW.[BreakWaterHeight] IS OLD.[BreakWaterHeight] " +
+ "AND NEW.[UseForeshore] = OLD.[UseForeshore] " +
+ "AND NEW.[Orientation] IS OLD.[Orientation] " +
+ "AND NEW.[UpperBoundaryRevetment] IS OLD.[UpperBoundaryRevetment] " +
+ "AND NEW.[LowerBoundaryRevetment] IS OLD.[LowerBoundaryRevetment] " +
+ "AND NEW.[UpperBoundaryWaterLevels] IS OLD.[UpperBoundaryWaterLevels] " +
+ "AND NEW.[LowerBoundaryWaterLevels] IS OLD.[LowerBoundaryWaterLevels] " +
+ "AND NEW.[CalculationType] = OLD.[CalculationType] " +
+ "AND NEW.[WaterLevelType] = OLD.[WaterLevelType];" +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateCalculation);
+
+ AssertWaveConditionsStepSize(reader, sourceFilePath, "StabilityStoneCoverWaveConditionsCalculationEntity");
+ }
+
+ private static void AssertWaveImpactAsphaltCoverWaveConditionsCalculation(MigratedDatabaseReader reader,
+ string sourceFilePath)
+ {
+ string validateCalculation =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.WaveImpactAsphaltCoverWaveConditionsCalculationEntity " +
+ ") " +
+ "FROM WaveImpactAsphaltCoverWaveConditionsCalculationEntity NEW " +
+ "JOIN SOURCEPROJECT.WaveImpactAsphaltCoverWaveConditionsCalculationEntity OLD USING(WaveImpactAsphaltCoverWaveConditionsCalculationEntityId) " +
+ "WHERE NEW.[CalculationGroupEntityId] = OLD.[CalculationGroupEntityId] " +
+ "AND NEW.[ForeshoreProfileEntityId] IS OLD.[ForeshoreProfileEntityId] " +
+ "AND NEW.[HydraulicLocationEntityId] IS OLD.[HydraulicLocationEntityId] " +
+ "AND NEW.[HydraulicLocationCalculationForTargetProbabilityCollectionEntityId] IS OLD.[HydraulicLocationCalculationForTargetProbabilityCollectionEntityId] " +
+ "AND NEW.\"Order\" = OLD.\"Order\" " +
+ "AND NEW.[Name] IS OLD.[Name] " +
+ "AND NEW.[Comments] IS OLD.[Comments] " +
+ "AND NEW.[UseBreakWater] = OLD.[UseBreakWater] " +
+ "AND NEW.[BreakWaterType] = OLD.[BreakWaterType] " +
+ "AND NEW.[BreakWaterHeight] IS OLD.[BreakWaterHeight] " +
+ "AND NEW.[UseForeshore] = OLD.[UseForeshore] " +
+ "AND NEW.[Orientation] IS OLD.[Orientation] " +
+ "AND NEW.[UpperBoundaryRevetment] IS OLD.[UpperBoundaryRevetment] " +
+ "AND NEW.[LowerBoundaryRevetment] IS OLD.[LowerBoundaryRevetment] " +
+ "AND NEW.[UpperBoundaryWaterLevels] IS OLD.[UpperBoundaryWaterLevels] " +
+ "AND NEW.[LowerBoundaryWaterLevels] IS OLD.[LowerBoundaryWaterLevels] " +
+ "AND NEW.[WaterLevelType] = OLD.[WaterLevelType];" +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateCalculation);
+
+ AssertWaveConditionsStepSize(reader, sourceFilePath, "WaveImpactAsphaltCoverWaveConditionsCalculationEntity");
+ }
+
+ private static void AssertWaveConditionsStepSize(MigratedDatabaseReader reader,
+ string sourceFilePath,
+ string calculationEntityName)
+ {
+ string validateStepSize =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCE; " +
+ "SELECT " +
+ "COALESCE (SUM([IsInvalid]), 0) = 0 " +
+ "FROM ( " +
+ "SELECT " +
+ "CASE " +
+ "WHEN OLD.[StepSize] = 1 AND NEW.[StepSize] = 0.5 THEN 0 " +
+ "WHEN OLD.[StepSize] = 2 AND NEW.[StepSize] = 1.0 THEN 0 " +
+ "WHEN OLD.[StepSize] = 3 AND NEW.[StepSize] = 2.0 THEN 0 " +
+ "ELSE 1 " +
+ "END AS [IsInvalid] " +
+ $"FROM {calculationEntityName} NEW " +
+ $"JOIN SOURCE.{calculationEntityName} OLD USING({calculationEntityName}Id)" +
+ "); " +
+ "DETACH DATABASE SOURCE;";
+ reader.AssertReturnedDataIsValid(validateStepSize);
+ }
+
+ #endregion
+
+ # region Calculation outputs
+
+ private static void AssertHydraulicLocationOutput(MigratedDatabaseReader reader)
+ {
+ const string validateOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM [HydraulicLocationOutputEntity]; ";
+ reader.AssertReturnedDataIsValid(validateOutput);
+ }
+
+ private static void AssertDuneLocationOutput(MigratedDatabaseReader reader)
+ {
+ const string validateOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM [DuneLocationCalculationOutputEntity]; ";
+ reader.AssertReturnedDataIsValid(validateOutput);
+ }
+
+ private static void AssertGrassCoverErosionInwardsOutput(MigratedDatabaseReader reader)
+ {
+ const string validateOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM [GrassCoverErosionInwardsOutputEntity]; ";
+ reader.AssertReturnedDataIsValid(validateOutput);
+
+ const string validateDikeHeightOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM [GrassCoverErosionInwardsDikeHeightOutputEntity]; ";
+ reader.AssertReturnedDataIsValid(validateDikeHeightOutput);
+
+ const string validateOvertoppingRateOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM [GrassCoverErosionInwardsOvertoppingRateOutputEntity]; ";
+ reader.AssertReturnedDataIsValid(validateOvertoppingRateOutput);
+ }
+
+ private static void AssertGrassCoverErosionOutwardsOutput(MigratedDatabaseReader reader)
+ {
+ const string validateOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM [GrassCoverErosionOutwardsWaveConditionsOutputEntity]; ";
+ reader.AssertReturnedDataIsValid(validateOutput);
+ }
+
+ private static void AssertStabilityStoneCoverOutput(MigratedDatabaseReader reader)
+ {
+ const string validateOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM [StabilityStoneCoverWaveConditionsOutputEntity]; ";
+ reader.AssertReturnedDataIsValid(validateOutput);
+ }
+
+ private static void AssertWaveImpactAsphaltCoverOutput(MigratedDatabaseReader reader)
+ {
+ const string validateOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM [WaveImpactAsphaltCoverWaveConditionsOutputEntity]; ";
+ reader.AssertReturnedDataIsValid(validateOutput);
+ }
+
+ private static void AssertClosingStructuresOutput(MigratedDatabaseReader reader)
+ {
+ const string validateOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM [ClosingStructuresOutputEntity]; ";
+ reader.AssertReturnedDataIsValid(validateOutput);
+ }
+
+ private static void AssertHeightStructuresOutput(MigratedDatabaseReader reader)
+ {
+ const string validateOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM [HeightStructuresOutputEntity]; ";
+ reader.AssertReturnedDataIsValid(validateOutput);
+ }
+
+ private static void AssertStabilityPointStructuresOutput(MigratedDatabaseReader reader)
+ {
+ const string validateOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM [StabilityPointStructuresOutputEntity]; ";
+ reader.AssertReturnedDataIsValid(validateOutput);
+ }
+
+ private static void AssertMacroStabilityInwardsOutput(MigratedDatabaseReader reader)
+ {
+ const string validateMacroStabilityInwardsOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM MacroStabilityInwardsCalculationOutputEntity; ";
+
+ reader.AssertReturnedDataIsValid(validateMacroStabilityInwardsOutput);
+ }
+
+ private static void AssertPipingOutput(MigratedDatabaseReader reader)
+ {
+ const string validateProbabilisticCalculationOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM ProbabilisticPipingCalculationOutputEntity;" +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateProbabilisticCalculationOutput);
+
+ const string validateSemiProbabilisticOutput =
+ "SELECT COUNT() = 0 " +
+ "FROM SemiProbabilisticPipingCalculationOutputEntity; ";
+ reader.AssertReturnedDataIsValid(validateSemiProbabilisticOutput);
+ }
+
+ private static void AssertIllustrationPointResults(MigratedDatabaseReader reader)
+ {
+ const string validateFaultTreeIllustrationPoint =
+ "SELECT COUNT() = 0 " +
+ "FROM [FaultTreeIllustrationPointEntity]; ";
+ reader.AssertReturnedDataIsValid(validateFaultTreeIllustrationPoint);
+
+ const string validateFaultTreeIllustrationPointStochast =
+ "SELECT COUNT() = 0 " +
+ "FROM [FaultTreeIllustrationPointStochastEntity]; ";
+ reader.AssertReturnedDataIsValid(validateFaultTreeIllustrationPointStochast);
+
+ const string validateFaultTreeSubmechanismIllustrationPoint =
+ "SELECT COUNT() = 0 " +
+ "FROM [FaultTreeSubmechanismIllustrationPointEntity]; ";
+ reader.AssertReturnedDataIsValid(validateFaultTreeSubmechanismIllustrationPoint);
+
+ const string validateGeneralResultFaultTreeIllustrationPoint =
+ "SELECT COUNT() = 0 " +
+ "FROM [GeneralResultFaultTreeIllustrationPointEntity]; ";
+ reader.AssertReturnedDataIsValid(validateGeneralResultFaultTreeIllustrationPoint);
+
+ const string validateGeneralResultFaultTreeIllustrationPointStochast =
+ "SELECT COUNT() = 0 " +
+ "FROM [GeneralResultFaultTreeIllustrationPointStochastEntity]; ";
+ reader.AssertReturnedDataIsValid(validateGeneralResultFaultTreeIllustrationPointStochast);
+
+ const string validateGeneralResultSubMechanismIllustrationPoint =
+ "SELECT COUNT() = 0 " +
+ "FROM [GeneralResultSubMechanismIllustrationPointEntity]; ";
+ reader.AssertReturnedDataIsValid(validateGeneralResultSubMechanismIllustrationPoint);
+
+ const string validateGeneralResultSubMechanismIllustrationPointStochast =
+ "SELECT COUNT() = 0 " +
+ "FROM [GeneralResultSubMechanismIllustrationPointStochastEntity]; ";
+ reader.AssertReturnedDataIsValid(validateGeneralResultSubMechanismIllustrationPointStochast);
+
+ const string validateIllustrationPointResult =
+ "SELECT COUNT() = 0 " +
+ "FROM [IllustrationPointResultEntity]; ";
+ reader.AssertReturnedDataIsValid(validateIllustrationPointResult);
+
+ const string validateSubMechanismIllustrationPoint =
+ "SELECT COUNT() = 0 " +
+ "FROM [SubMechanismIllustrationPointEntity]; ";
+ reader.AssertReturnedDataIsValid(validateSubMechanismIllustrationPoint);
+
+ const string validateSubMechanismIllustrationPointStochast =
+ "SELECT COUNT() = 0 " +
+ "FROM [SubMechanismIllustrationPointStochastEntity]; ";
+ reader.AssertReturnedDataIsValid(validateSubMechanismIllustrationPointStochast);
+
+ const string validateTopLevelFaultTreeIllustrationPoint =
+ "SELECT COUNT() = 0 " +
+ "FROM [TopLevelFaultTreeIllustrationPointEntity]; ";
+ reader.AssertReturnedDataIsValid(validateTopLevelFaultTreeIllustrationPoint);
+
+ const string validateTopLevelSubMechanismIllustrationPoint =
+ "SELECT COUNT() = 0 " +
+ "FROM [TopLevelSubMechanismIllustrationPointEntity]; ";
+ reader.AssertReturnedDataIsValid(validateTopLevelSubMechanismIllustrationPoint);
+ }
+
+ #endregion
+
+ #region Failure mechanisms meta data
+
+ private static void AssertClosingStructuresFailureMechanismMetaEntity(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.ClosingStructuresFailureMechanismMetaEntity " +
+ ") " +
+ "FROM ClosingStructuresFailureMechanismMetaEntity NEW " +
+ "JOIN SOURCEPROJECT.ClosingStructuresFailureMechanismMetaEntity OLD USING(ClosingStructuresFailureMechanismMetaEntityId) " +
+ "WHERE NEW.[FailureMechanismEntityId] = OLD.[FailureMechanismEntityId] " +
+ "AND NEW.[ClosingStructureCollectionSourcePath] IS OLD.[ClosingStructureCollectionSourcePath] " +
+ "AND NEW.[ForeshoreProfileCollectionSourcePath] IS OLD.[ForeshoreProfileCollectionSourcePath];" +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ private static void AssertDuneErosionFailureMechanismMetaEntity(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.DuneErosionFailureMechanismMetaEntity " +
+ ") " +
+ "FROM DuneErosionFailureMechanismMetaEntity NEW " +
+ "JOIN SOURCEPROJECT.DuneErosionFailureMechanismMetaEntity OLD USING(DuneErosionFailureMechanismMetaEntityId) " +
+ "WHERE NEW.[FailureMechanismEntityId] = OLD.[FailureMechanismEntityId]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ private static void AssertGrassCoverErosionInwardsFailureMechanismMetaEntity(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.GrassCoverErosionInwardsFailureMechanismMetaEntity " +
+ ") " +
+ "FROM GrassCoverErosionInwardsFailureMechanismMetaEntity NEW " +
+ "JOIN SOURCEPROJECT.GrassCoverErosionInwardsFailureMechanismMetaEntity OLD USING(GrassCoverErosionInwardsFailureMechanismMetaEntityId) " +
+ "WHERE NEW.[FailureMechanismEntityId] = OLD.[FailureMechanismEntityId] " +
+ "AND NEW.[DikeProfileCollectionSourcePath] IS OLD.[DikeProfileCollectionSourcePath]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ private static void AssertGrassCoverErosionOutwardsFailureMechanismMetaEntity(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.GrassCoverErosionOutwardsFailureMechanismMetaEntity " +
+ ") " +
+ "FROM GrassCoverErosionOutwardsFailureMechanismMetaEntity NEW " +
+ "JOIN SOURCEPROJECT.GrassCoverErosionOutwardsFailureMechanismMetaEntity OLD USING(GrassCoverErosionOutwardsFailureMechanismMetaEntityId) " +
+ "WHERE NEW.[FailureMechanismEntityId] = OLD.[FailureMechanismEntityId] " +
+ "AND NEW.[ForeshoreProfileCollectionSourcePath] IS OLD.[ForeshoreProfileCollectionSourcePath]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ private static void AssertHeightStructuresFailureMechanismMetaEntity(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.HeightStructuresFailureMechanismMetaEntity " +
+ ") " +
+ "FROM HeightStructuresFailureMechanismMetaEntity NEW " +
+ "JOIN SOURCEPROJECT.HeightStructuresFailureMechanismMetaEntity OLD USING(HeightStructuresFailureMechanismMetaEntityId) " +
+ "WHERE NEW.[FailureMechanismEntityId] = OLD.[FailureMechanismEntityId] " +
+ "AND NEW.[HeightStructureCollectionSourcePath] IS OLD.[HeightStructureCollectionSourcePath] " +
+ "AND NEW.[ForeshoreProfileCollectionSourcePath] IS OLD.[ForeshoreProfileCollectionSourcePath];" +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ private static void AssertStabilityPointStructuresFailureMechanismMetaEntity(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.StabilityPointStructuresFailureMechanismMetaEntity " +
+ ") " +
+ "FROM StabilityPointStructuresFailureMechanismMetaEntity NEW " +
+ "JOIN SOURCEPROJECT.StabilityPointStructuresFailureMechanismMetaEntity OLD USING(StabilityPointStructuresFailureMechanismMetaEntityId) " +
+ "WHERE NEW.[FailureMechanismEntityId] = OLD.[FailureMechanismEntityId] " +
+ "AND NEW.[StabilityPointStructureCollectionSourcePath] IS OLD.[StabilityPointStructureCollectionSourcePath] " +
+ "AND NEW.[ForeshoreProfileCollectionSourcePath] IS OLD.[ForeshoreProfileCollectionSourcePath];" +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ private static void AssertStabilityStoneCoverFailureMechanismMetaEntity(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.StabilityStoneCoverFailureMechanismMetaEntity " +
+ ") " +
+ "FROM StabilityStoneCoverFailureMechanismMetaEntity NEW " +
+ "JOIN SOURCEPROJECT.StabilityStoneCoverFailureMechanismMetaEntity OLD USING(StabilityStoneCoverFailureMechanismMetaEntityId) " +
+ "WHERE NEW.[FailureMechanismEntityId] = OLD.[FailureMechanismEntityId] " +
+ "AND NEW.[ForeshoreProfileCollectionSourcePath] IS OLD.[ForeshoreProfileCollectionSourcePath]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ private static void AssertWaveImpactAsphaltCoverFailureMechanismMetaEntity(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.WaveImpactAsphaltCoverFailureMechanismMetaEntity " +
+ ") " +
+ "FROM WaveImpactAsphaltCoverFailureMechanismMetaEntity NEW " +
+ "JOIN SOURCEPROJECT.WaveImpactAsphaltCoverFailureMechanismMetaEntity OLD USING(WaveImpactAsphaltCoverFailureMechanismMetaEntityId) " +
+ "WHERE NEW.[FailureMechanismEntityId] = OLD.[FailureMechanismEntityId] " +
+ "AND NEW.[ForeshoreProfileCollectionSourcePath] IS OLD.[ForeshoreProfileCollectionSourcePath]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ private static void AssertSpecificFailureMechanismMetaEntity(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.SpecificFailureMechanismEntity " +
+ ") " +
+ "FROM SpecificFailureMechanismEntity NEW " +
+ "JOIN SOURCEPROJECT.SpecificFailureMechanismEntity OLD USING(SpecificFailureMechanismEntityId) " +
+ "WHERE NEW.[AssessmentSectionEntityId] = OLD.[AssessmentSectionEntityId] " +
+ "AND NEW.[Name] IS OLD.[Name] " +
+ "AND NEW.[Code] IS OLD.[Code] " +
+ "AND NEW.\"Order\" = OLD.\"Order\" " +
+ "AND NEW.[InAssembly] = OLD.[InAssembly] " +
+ "AND NEW.[FailureMechanismSectionCollectionSourcePath] IS OLD.[FailureMechanismSectionCollectionSourcePath] " +
+ "AND NEW.[InAssemblyInputComments] IS OLD.[InAssemblyInputComments] " +
+ "AND NEW.[InAssemblyOutputComments] IS OLD.[InAssemblyOutputComments] " +
+ "AND NEW.[NotInAssemblyComments] IS OLD.[NotInAssemblyComments] " +
+ "AND NEW.[FailureMechanismAssemblyResultProbabilityResultType] = OLD.[FailureMechanismAssemblyResultProbabilityResultType] " +
+ "AND NEW.[FailureMechanismAssemblyResultManualFailureMechanismAssemblyProbability] IS OLD.[FailureMechanismAssemblyResultManualFailureMechanismAssemblyProbability]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ #endregion
+
+ #region Failure mechanism section results
+
+ private static void AssertAdoptableFailureMechanismSectionResult(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateNrOfSectionResults =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "( " +
+ "SELECT SUM(count) " +
+ "FROM " +
+ "( " +
+ "SELECT COUNT() as count " +
+ "FROM SOURCEPROJECT.AdoptableFailureMechanismSectionResultEntity " +
+ "UNION " +
+ "SELECT COUNT() as count " +
+ "FROM SOURCEPROJECT.AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity " +
+ ")" +
+ ")" +
+ "FROM AdoptableFailureMechanismSectionResultEntity;" +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateNrOfSectionResults);
+
+ string validateExistingFailureMechanismSectionResults =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.AdoptableFailureMechanismSectionResultEntity " +
+ ")" +
+ "FROM AdoptableFailureMechanismSectionResultEntity NEW " +
+ "JOIN SOURCEPROJECT.AdoptableFailureMechanismSectionResultEntity OLD USING(AdoptableFailureMechanismSectionResultEntityId) " +
+ "WHERE NEW.[FailureMechanismSectionEntityId] = OLD.[FailureMechanismSectionEntityId] " +
+ "AND NEW.[IsRelevant] = OLD.[IsRelevant] " +
+ "AND NEW.[InitialFailureMechanismResultType] = OLD.[InitialFailureMechanismResultType] " +
+ "AND NEW.[ManualInitialFailureMechanismResultSectionProbability] IS OLD.[ManualInitialFailureMechanismResultSectionProbability] " +
+ "AND NEW.[FurtherAnalysisType] = OLD.[FurtherAnalysisType] " +
+ "AND NEW.[RefinedSectionProbability] IS OLD.[RefinedSectionProbability]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateExistingFailureMechanismSectionResults);
+
+ string validateMigratedAdoptableWithProfileProbabilityFailureMechanismSectionResults =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity " +
+ ")" +
+ "FROM AdoptableFailureMechanismSectionResultEntity NEW " +
+ "JOIN SOURCEPROJECT.AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity OLD USING(FailureMechanismSectionEntityId) " +
+ "JOIN ( " +
+ "SELECT " +
+ "FailureMechanismSectionEntityId, " +
+ "CASE " +
+ "WHEN [ProbabilityRefinementType] = 2 OR [ProbabilityRefinementType] = 3 " +
+ "THEN [RefinedSectionProbability] " +
+ "WHEN [ProbabilityRefinementType] = 1 " +
+ "THEN NULL " +
+ "END AS ExpectedRefinedSectionProbability " +
+ "FROM SOURCEPROJECT.AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity" +
+ ") AS ofmsr USING(FailureMechanismSectionEntityId)" +
+ "WHERE NEW.[FailureMechanismSectionEntityId] = OLD.[FailureMechanismSectionEntityId] " +
+ "AND NEW.[IsRelevant] = OLD.[IsRelevant] " +
+ "AND NEW.[InitialFailureMechanismResultType] = OLD.[InitialFailureMechanismResultType] " +
+ "AND NEW.[ManualInitialFailureMechanismResultSectionProbability] IS OLD.[ManualInitialFailureMechanismResultSectionProbability] " +
+ "AND NEW.[FurtherAnalysisType] = OLD.[FurtherAnalysisType] " +
+ "AND NEW.[RefinedSectionProbability] IS ofmsr.[ExpectedRefinedSectionProbability]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMigratedAdoptableWithProfileProbabilityFailureMechanismSectionResults);
+ }
+
+ private static void AssertNonAdoptableFailureMechanismSectionResult(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateNrOfSectionResults =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "( " +
+ "SELECT SUM(count) " +
+ "FROM " +
+ "( " +
+ "SELECT COUNT() as count " +
+ "FROM SOURCEPROJECT.NonAdoptableFailureMechanismSectionResultEntity " +
+ "UNION " +
+ "SELECT COUNT() as count " +
+ "FROM SOURCEPROJECT.NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity " +
+ ")" +
+ ")" +
+ "FROM NonAdoptableFailureMechanismSectionResultEntity;" +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateNrOfSectionResults);
+
+ string validateExistingFailureMechanismSectionResults =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.NonAdoptableFailureMechanismSectionResultEntity " +
+ ")" +
+ "FROM NonAdoptableFailureMechanismSectionResultEntity NEW " +
+ "JOIN SOURCEPROJECT.NonAdoptableFailureMechanismSectionResultEntity OLD USING(NonAdoptableFailureMechanismSectionResultEntityId) " +
+ "WHERE NEW.[FailureMechanismSectionEntityId] = OLD.[FailureMechanismSectionEntityId] " +
+ "AND NEW.[IsRelevant] = OLD.[IsRelevant] " +
+ "AND NEW.[InitialFailureMechanismResultType] = OLD.[InitialFailureMechanismResultType] " +
+ "AND NEW.[ManualInitialFailureMechanismResultSectionProbability] IS OLD.[ManualInitialFailureMechanismResultSectionProbability] " +
+ "AND NEW.[FurtherAnalysisType] = OLD.[FurtherAnalysisType] " +
+ "AND NEW.[RefinedSectionProbability] IS OLD.[RefinedSectionProbability]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateExistingFailureMechanismSectionResults);
+
+ string validateMigratedNonAdoptableWithProfileProbabilityFailureMechanismSectionResults =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity " +
+ ")" +
+ "FROM NonAdoptableFailureMechanismSectionResultEntity NEW " +
+ "JOIN SOURCEPROJECT.NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity OLD USING(FailureMechanismSectionEntityId) " +
+ "WHERE NEW.[FailureMechanismSectionEntityId] = OLD.[FailureMechanismSectionEntityId] " +
+ "AND NEW.[IsRelevant] = OLD.[IsRelevant] " +
+ "AND NEW.[InitialFailureMechanismResultType] = OLD.[InitialFailureMechanismResultType] " +
+ "AND NEW.[ManualInitialFailureMechanismResultSectionProbability] IS OLD.[ManualInitialFailureMechanismResultSectionProbability] " +
+ "AND NEW.[FurtherAnalysisType] = OLD.[FurtherAnalysisType] " +
+ "AND NEW.[RefinedSectionProbability] IS OLD.[RefinedSectionProbability]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMigratedNonAdoptableWithProfileProbabilityFailureMechanismSectionResults);
+ }
+
+ #endregion
+
+ #region Piping
+
+ private static void AssertPipingFailureMechanismMetaEntity(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.PipingFailureMechanismMetaEntity " +
+ ") " +
+ "FROM PipingFailureMechanismMetaEntity NEW " +
+ "JOIN SOURCEPROJECT.PipingFailureMechanismMetaEntity OLD USING(PipingFailureMechanismMetaEntityId) " +
+ "WHERE NEW.[FailureMechanismEntityId] = OLD.[FailureMechanismEntityId] " +
+ "AND NEW.[WaterVolumetricWeight] = OLD.[WaterVolumetricWeight] " +
+ "AND NEW.[StochasticSoilModelCollectionSourcePath] IS OLD.[StochasticSoilModelCollectionSourcePath] " +
+ "AND NEW.[SurfaceLineCollectionSourcePath] IS OLD.[SurfaceLineCollectionSourcePath] " +
+ "AND NEW.[ScenarioConfigurationType] = OLD.[PipingScenarioConfigurationType]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ private static void AssertPipingFailureMechanismSectionConfiguration(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.PipingScenarioConfigurationPerFailureMechanismSectionEntity " +
+ ") " +
+ "FROM PipingFailureMechanismSectionConfigurationEntity NEW " +
+ "JOIN SOURCEPROJECT.PipingScenarioConfigurationPerFailureMechanismSectionEntity OLD " +
+ "WHERE NEW.[PipingFailureMechanismSectionConfigurationEntityId] = OLD.[PipingScenarioConfigurationPerFailureMechanismSectionEntityId] " +
+ "AND NEW.[FailureMechanismSectionEntityId] = OLD.[FailureMechanismSectionEntityId] " +
+ "AND NEW.[ScenarioConfigurationType] = OLD.[PipingScenarioConfigurationPerFailureMechanismSectionType] " +
+ "AND NEW.[A] = 1; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ #endregion
+
+ #region MacroStabilityInwards
+
+ private static void AssertMacroStabilityInwardsFailureMechanismMetaEntity(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.MacroStabilityInwardsFailureMechanismMetaEntity " +
+ ") " +
+ "FROM MacroStabilityInwardsFailureMechanismMetaEntity NEW " +
+ "JOIN SOURCEPROJECT.MacroStabilityInwardsFailureMechanismMetaEntity OLD USING(MacroStabilityInwardsFailureMechanismMetaEntityId) " +
+ "WHERE NEW.[FailureMechanismEntityId] = OLD.[FailureMechanismEntityId] " +
+ "AND NEW.[StochasticSoilModelCollectionSourcePath] IS OLD.[StochasticSoilModelCollectionSourcePath] " +
+ "AND NEW.[SurfaceLineCollectionSourcePath] IS OLD.[SurfaceLineCollectionSourcePath]; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ private static void AssertMacroStabilityInwardsFailureMechanismSectionConfiguration(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateMetaEntity =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.FailureMechanismEntity " +
+ "JOIN SOURCEPROJECT.FailureMechanismFailureMechanismSectionEntity USING(FailureMechanismEntityId) " +
+ "WHERE FailureMechanismType = 2 " +
+ ") " +
+ "FROM FailureMechanismEntity " +
+ "JOIN FailureMechanismFailureMechanismSectionEntity USING(FailureMechanismEntityId) " +
+ "JOIN MacroStabilityInwardsFailureMechanismSectionConfigurationEntity NEW USING(FailureMechanismSectionEntityId) " +
+ "WHERE FailureMechanismType = 2 " +
+ "AND NEW.[A] = 1; " +
+ "DETACH SOURCEPROJECT;";
+ reader.AssertReturnedDataIsValid(validateMetaEntity);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Riskeer/Migration/test/Riskeer.Migration.Test/ProjectMigratorTest.cs
===================================================================
diff -u -rd9119b8f4a74fb2a6f3ececeaea94f0e58513c52 -r68c67ec6bb74c35eeecbf0b95983a5c780f6d008
--- Riskeer/Migration/test/Riskeer.Migration.Test/ProjectMigratorTest.cs (.../ProjectMigratorTest.cs) (revision d9119b8f4a74fb2a6f3ececeaea94f0e58513c52)
+++ Riskeer/Migration/test/Riskeer.Migration.Test/ProjectMigratorTest.cs (.../ProjectMigratorTest.cs) (revision 68c67ec6bb74c35eeecbf0b95983a5c780f6d008)
@@ -605,7 +605,7 @@
migrationLog.AppendLine(" - De automatisch berekende faalkans van het faalmechanisme is verwijderd.");
migrationLog.AppendLine(" + Faalmechanisme: 'Technische innovaties'");
migrationLog.AppendLine(" - De automatisch berekende faalkans van het faalmechanisme is verwijderd.");
- migrationLog.AppendLine("Gevolgen van de migratie van versie 23.1 naar versie 23.2:");
+ migrationLog.AppendLine("Gevolgen van de migratie van versie 23.1 naar versie 24.1:");
migrationLog.AppendLine("* Omdat alleen faalkansen op vakniveau een rol spelen in de assemblage, zijn de assemblageresultaten voor de faalmechanismen aangepast:");
migrationLog.AppendLine(" + De initiële faalkansen per doorsnede zijn verwijderd in het geval van de optie 'Handmatig invullen'.");
migrationLog.AppendLine(" + De aangescherpte faalkansen per doorsnede zijn verwijderd in het geval van de optie 'Per doorsnede' of 'Beide'.");