Index: Riskeer/Common/src/Riskeer.Common.IO/Riskeer.Common.IO.csproj
===================================================================
diff -u -r4ccb2d616054b66c243c935f083c3e793ef84cc8 -r624b79046befa32185f168e9e63c42859ec0f83e
--- Riskeer/Common/src/Riskeer.Common.IO/Riskeer.Common.IO.csproj (.../Riskeer.Common.IO.csproj) (revision 4ccb2d616054b66c243c935f083c3e793ef84cc8)
+++ Riskeer/Common/src/Riskeer.Common.IO/Riskeer.Common.IO.csproj (.../Riskeer.Common.IO.csproj) (revision 624b79046befa32185f168e9e63c42859ec0f83e)
@@ -80,10 +80,12 @@
2.0.12
true
+ all
1.0.109.2
true
+ all
Index: Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure23.1.sql
===================================================================
diff -u
--- Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure23.1.sql (revision 0)
+++ Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure23.1.sql (revision 624b79046befa32185f168e9e63c42859ec0f83e)
@@ -0,0 +1,2760 @@
+/* ---------------------------------------------------- */
+/* Generated by Enterprise Architect Version 15.2 */
+/* Created On : 10-mrt-2023 08:55:58 */
+/* DBMS : SQLite */
+/* ---------------------------------------------------- */
+
+/* Drop Tables */
+
+DROP TABLE IF EXISTS 'VersionEntity'
+;
+
+DROP TABLE IF EXISTS 'ProjectEntity'
+;
+
+DROP TABLE IF EXISTS 'AssessmentSectionEntity'
+;
+
+DROP TABLE IF EXISTS 'FailureMechanismSectionEntity'
+;
+
+DROP TABLE IF EXISTS 'FailureMechanismEntity'
+;
+
+DROP TABLE IF EXISTS 'ClosingStructuresFailureMechanismMetaEntity'
+;
+
+DROP TABLE IF EXISTS 'CalculationGroupEntity'
+;
+
+DROP TABLE IF EXISTS 'HydraulicLocationEntity'
+;
+
+DROP TABLE IF EXISTS 'GrassCoverErosionInwardsFailureMechanismMetaEntity'
+;
+
+DROP TABLE IF EXISTS 'SemiProbabilisticPipingCalculationEntity'
+;
+
+DROP TABLE IF EXISTS 'GrassCoverErosionInwardsCalculationEntity'
+;
+
+DROP TABLE IF EXISTS 'GrassCoverSlipOffInwardsFailureMechanismMetaEntity'
+;
+
+DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsFailureMechanismMetaEntity'
+;
+
+DROP TABLE IF EXISTS 'PipingSoilLayerEntity'
+;
+
+DROP TABLE IF EXISTS 'PipingSoilProfileEntity'
+;
+
+DROP TABLE IF EXISTS 'PipingStochasticSoilProfileEntity'
+;
+
+DROP TABLE IF EXISTS 'PipingScenarioConfigurationPerFailureMechanismSectionEntity'
+;
+
+DROP TABLE IF EXISTS 'StochasticSoilModelEntity'
+;
+
+DROP TABLE IF EXISTS 'SurfaceLineEntity'
+;
+
+DROP TABLE IF EXISTS 'PipingCharacteristicPointEntity'
+;
+
+DROP TABLE IF EXISTS 'WaterPressureAsphaltCoverFailureMechanismMetaEntity'
+;
+
+DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverFailureMechanismMetaEntity'
+;
+
+DROP TABLE IF EXISTS 'AdoptableFailureMechanismSectionResultEntity'
+;
+
+DROP TABLE IF EXISTS 'AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity'
+;
+
+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 'GrassCoverSlipOffOutwardsFailureMechanismMetaEntity'
+;
+
+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 '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 'MicrostabilityFailureMechanismMetaEntity'
+;
+
+DROP TABLE IF EXISTS 'NonAdoptableFailureMechanismSectionResultEntity'
+;
+
+DROP TABLE IF EXISTS 'NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity'
+;
+
+DROP TABLE IF EXISTS 'PipingFailureMechanismMetaEntity'
+;
+
+DROP TABLE IF EXISTS 'PipingStructureFailureMechanismMetaEntity'
+;
+
+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,
+ 'Name' VARCHAR (260) NULL,
+ 'Comments' TEXT NULL,
+ '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,
+ 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 'FailureMechanismSectionEntity'
+(
+ 'FailureMechanismSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'Name' VARCHAR (260) NOT NULL,
+ 'FailureMechanismSectionPointXml' TEXT NOT NULL
+)
+;
+
+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,
+ 'InAssemblyInputComments' TEXT NULL,
+ 'InAssemblyOutputComments' TEXT NULL,
+ 'NotInAssemblyComments' TEXT NULL,
+ 'CalculationsInputComments' TEXT NULL,
+ 'FailureMechanismAssemblyResultProbabilityResultType' TINYINT (1) NOT NULL, -- Enum: Automatic = 1, Manual = 2
+ '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 'ClosingStructuresFailureMechanismMetaEntity'
+(
+ 'ClosingStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismEntityId' INTEGER NOT NULL,
+ 'N2A' INT (4) NOT NULL,
+ 'ClosingStructureCollectionSourcePath' TEXT NULL,
+ 'ForeshoreProfileCollectionSourcePath' TEXT NULL,
+ 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 'GrassCoverErosionInwardsFailureMechanismMetaEntity'
+(
+ 'GrassCoverErosionInwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismEntityId' INTEGER NOT NULL,
+ 'N' REAL NOT NULL,
+ 'DikeProfileCollectionSourcePath' TEXT NULL,
+ 'ApplyLengthEffectInSection' TINYINT (1) NOT NULL,
+ CONSTRAINT 'FK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') 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,
+ '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 '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,
+ '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 'GrassCoverSlipOffInwardsFailureMechanismMetaEntity'
+(
+ 'GrassCoverSlipOffInwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismEntityId' INTEGER NOT NULL,
+ 'N' REAL NOT NULL,
+ 'ApplyLengthEffectInSection' TINYINT (1) NOT NULL,
+ CONSTRAINT 'FK_GrassCoverSlipOffInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE 'GrassCoverErosionOutwardsFailureMechanismMetaEntity'
+(
+ 'GrassCoverErosionOutwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismEntityId' INTEGER NOT NULL,
+ 'N' REAL NOT NULL,
+ 'ForeshoreProfileCollectionSourcePath' TEXT NULL,
+ 'ApplyLengthEffectInSection' TINYINT (1) NOT NULL,
+ CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+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,
+ '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 'PipingSoilProfileEntity'
+(
+ 'PipingSoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'Bottom' REAL NULL,
+ 'Name' TEXT NOT NULL,
+ 'SourceType' TINYINT (1) NOT NULL -- Enum: 1 = SoilProfile1D, 2 = SoilProfile2D
+)
+;
+
+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 'PipingScenarioConfigurationPerFailureMechanismSectionEntity'
+(
+ 'PipingScenarioConfigurationPerFailureMechanismSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismSectionEntityId' INTEGER NOT NULL,
+ 'PipingScenarioConfigurationPerFailureMechanismSectionType' TINYINT (1) NOT NULL, -- Enum: SemiProbabilistic = 1 Probabilistic = 2
+ CONSTRAINT 'FK_PipingScenarioConfigurationPerFailureMechanismSectionEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE 'StochasticSoilModelEntity'
+(
+ 'StochasticSoilModelEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismEntityId' INTEGER NOT NULL,
+ 'Name' TEXT NOT NULL,
+ 'StochasticSoilModelSegmentPointXml' TEXT NOT NULL,
+ '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 '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,
+ '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 'WaterPressureAsphaltCoverFailureMechanismMetaEntity'
+(
+ 'WaterPressureAsphaltCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismEntityId' INTEGER NOT NULL,
+ 'N' REAL NOT NULL,
+ 'ApplyLengthEffectInSection' TINYINT (1) NOT NULL,
+ CONSTRAINT 'FK_WaterPressureAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
+CREATE TABLE 'WaveImpactAsphaltCoverFailureMechanismMetaEntity'
+(
+ 'WaveImpactAsphaltCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismEntityId' INTEGER NOT NULL,
+ 'ForeshoreProfileCollectionSourcePath' TEXT NULL,
+ 'DeltaL' REAL NOT NULL,
+ 'ApplyLengthEffectInSection' TINYINT (1) NOT NULL,
+ 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 'AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity'
+(
+ 'AdoptableWithProfileProbabilityFailureMechanismSectionResultEntityId' 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,
+ 'ManualInitialFailureMechanismResultProfileProbability' REAL NULL,
+ 'FurtherAnalysisType' TINYINT (1) NOT NULL, -- Enum: NotNecessary = 1 Necessary = 2 Executed = 3
+ 'ProbabilityRefinementType' TINYINT (1) NOT NULL, -- Enum: Profile = 1 Section = 2 Both = 3
+ 'RefinedSectionProbability' REAL NULL,
+ 'RefinedProfileProbability' REAL NULL,
+ CONSTRAINT 'FK_AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity_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,
+ '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,
+ 'Value' TEXT NOT NULL,
+ 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,
+ '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,
+ 'DikeGeometryXml' TEXT NOT NULL,
+ '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,
+ 'N' REAL 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,
+ '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,
+ 'FailureMechanismEntityId' INTEGER NOT NULL,
+ 'LocationId' INTEGER NOT NULL,
+ 'Name' VARCHAR (260) NOT NULL,
+ 'LocationX' REAL NULL,
+ 'LocationY' REAL NULL,
+ 'CoastalAreaId' INT (4) NOT NULL,
+ 'Offset' REAL NULL,
+ 'Orientation' REAL NULL,
+ 'D50' REAL NULL,
+ 'Order' INT (4) NOT NULL,
+ CONSTRAINT 'FK_DuneLocationEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') 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,
+ '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,
+ '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,
+ '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,
+ '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,
+ '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' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0
+ '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 'GrassCoverSlipOffOutwardsFailureMechanismMetaEntity'
+(
+ 'GrassCoverSlipOffOutwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismEntityId' INTEGER NOT NULL,
+ 'N' REAL NOT NULL,
+ 'ApplyLengthEffectInSection' TINYINT (1) NOT NULL,
+ CONSTRAINT 'FK_GrassCoverSlipOffOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') 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,
+ '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,
+ 'N' REAL NOT NULL,
+ 'HeightStructureCollectionSourcePath' TEXT NULL,
+ 'ForeshoreProfileCollectionSourcePath' TEXT NULL,
+ 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,
+ 'FilePath' TEXT NOT NULL,
+ '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,
+ 'HydraulicLocationConfigurationDatabaseScenarioName' TEXT NOT NULL,
+ 'HydraulicLocationConfigurationDatabaseYear' INT (4) NOT NULL,
+ 'HydraulicLocationConfigurationDatabaseScope' TEXT NOT NULL,
+ 'HydraulicLocationConfigurationDatabaseSeaLevel' TEXT NULL,
+ 'HydraulicLocationConfigurationDatabaseRiverDischarge' TEXT NULL,
+ 'HydraulicLocationConfigurationDatabaseLakeLevel' TEXT NULL,
+ 'HydraulicLocationConfigurationDatabaseWindDirection' TEXT NULL,
+ 'HydraulicLocationConfigurationDatabaseWindSpeed' TEXT NULL,
+ 'HydraulicLocationConfigurationDatabaseComment' TEXT NULL,
+ 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,
+ 'Unit' TEXT NOT NULL,
+ '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,
+ '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, -- 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, -- 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,
+ 'A' REAL NOT NULL,
+ 'StochasticSoilModelCollectionSourcePath' TEXT NULL,
+ 'SurfaceLineCollectionSourcePath' TEXT NULL,
+ CONSTRAINT 'FK_MacroStabilityInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') 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,
+ '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,
+ '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,
+ '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,
+ 'Bottom' REAL NULL
+)
+;
+
+CREATE TABLE 'MacroStabilityInwardsSoilProfileTwoDEntity'
+(
+ 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'Name' TEXT NOT NULL
+)
+;
+
+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 'MicrostabilityFailureMechanismMetaEntity'
+(
+ 'MicrostabilityFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismEntityId' INTEGER NOT NULL,
+ 'N' REAL NOT NULL,
+ 'ApplyLengthEffectInSection' TINYINT (1) NOT NULL,
+ CONSTRAINT 'FK_MicrostabilityFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') 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 'NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity'
+(
+ 'NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismSectionEntityId' INTEGER NULL,
+ 'IsRelevant' TINYINT (1) NOT NULL, -- true or false
+ 'InitialFailureMechanismResultType' TINYINT (1) NOT NULL, -- Enum: Manual = 1 NoFailureProbability = 2
+ 'ManualInitialFailureMechanismResultSectionProbability' REAL NULL,
+ 'ManualInitialFailureMechanismResultProfileProbability' REAL NULL,
+ 'FurtherAnalysisType' TINYINT (1) NOT NULL, -- Enum: NotNecessary = 1 Necessary = 2 Executed = 3
+ 'RefinedSectionProbability' REAL NULL,
+ 'RefinedProfileProbability' REAL NULL,
+ CONSTRAINT 'FK_NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity_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,
+ 'A' REAL NOT NULL,
+ 'WaterVolumetricWeight' REAL NOT NULL,
+ 'StochasticSoilModelCollectionSourcePath' TEXT NULL,
+ 'SurfaceLineCollectionSourcePath' TEXT NULL,
+ 'PipingScenarioConfigurationType' 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 'PipingStructureFailureMechanismMetaEntity'
+(
+ 'PipingStructureFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ 'FailureMechanismEntityId' INTEGER NOT NULL,
+ 'N' REAL NOT NULL,
+ CONSTRAINT 'FK_PipingStructureFailureMechanismMetaEntity_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,
+ '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,
+ 'InAssemblyInputComments' TEXT NULL,
+ 'InAssemblyOutputComments' TEXT NULL,
+ 'NotInAssemblyComments' TEXT NULL,
+ 'N' REAL NOT NULL,
+ 'FailureMechanismAssemblyResultProbabilityResultType' TINYINT (1) NOT NULL, -- Enum: Automatic = 1, Manual = 2
+ 'FailureMechanismAssemblyResultManualFailureMechanismAssemblyProbability' REAL NULL,
+ 'ApplyLengthEffectInSection' TINYINT (1) NOT 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,
+ '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,
+ 'N' REAL NOT NULL,
+ 'ForeshoreProfileCollectionSourcePath' TEXT NULL,
+ 'StabilityPointStructureCollectionSourcePath' TEXT NULL,
+ 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,
+ 'N' REAL NOT NULL,
+ 'ApplyLengthEffectInSection' TINYINT (1) NOT NULL,
+ 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,
+ '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' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0
+ '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,
+ '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,
+ '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,
+ 'Unit' TEXT NOT NULL,
+ '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,
+ 'WindDirectionName' TEXT NOT NULL,
+ '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,
+ 'WindDirectionName' TEXT NOT NULL,
+ '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,
+ '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' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0
+ '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_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'GrassCoverErosionInwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' 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_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_GrassCoverSlipOffInwardsFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'GrassCoverSlipOffInwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' 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_PipingScenarioConfigurationPerFailureMechanismSectionEntity_FailureMechanismSectionEntity'
+ ON 'PipingScenarioConfigurationPerFailureMechanismSectionEntity' ('FailureMechanismSectionEntityId' ASC)
+;
+
+CREATE INDEX 'IXFK_StochasticSoilModelEntity_FailureMechanismEntity'
+ ON 'StochasticSoilModelEntity' ('FailureMechanismEntityId' ASC)
+;
+
+CREATE INDEX 'IXFK_SurfaceLineEntity_FailureMechanismEntity'
+ ON 'SurfaceLineEntity' ('FailureMechanismEntityId' ASC)
+;
+
+CREATE INDEX 'IXFK_SurfaceLinePointEntity_SurfaceLineEntity'
+ ON 'PipingCharacteristicPointEntity' ('SurfaceLineEntityId' ASC)
+;
+
+CREATE INDEX 'IXFK_WaterPressureAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'WaterPressureAsphaltCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
+;
+
+CREATE INDEX 'IXFK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
+;
+
+CREATE INDEX 'IXFK_AdoptableFailureMechanismSectionResultEntity_FailureMechanismSectionEntity'
+ ON 'AdoptableFailureMechanismSectionResultEntity' ('FailureMechanismSectionEntityId' ASC)
+;
+
+CREATE INDEX 'IXFK_AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity_FailureMechanismSectionEntity'
+ ON 'AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity' ('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_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_GrassCoverSlipOffOutwardsFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'GrassCoverSlipOffOutwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' 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_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_MicrostabilityFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'MicrostabilityFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
+;
+
+CREATE INDEX 'IXFK_NonAdoptableFailureMechanismSectionResultEntity_FailureMechanismSectionEntity'
+ ON 'NonAdoptableFailureMechanismSectionResultEntity' ('FailureMechanismSectionEntityId' ASC)
+;
+
+CREATE INDEX 'IXFK_NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity_FailureMechanismSectionEntity'
+ ON 'NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity' ('FailureMechanismSectionEntityId' ASC)
+;
+
+CREATE INDEX 'IXFK_PipingFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'PipingFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
+;
+
+CREATE INDEX 'IXFK_PipingStructureFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'PipingStructureFailureMechanismMetaEntity' ('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)
+;
Index: Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_22.1_23.1.sql
===================================================================
diff -u
--- Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_22.1_23.1.sql (revision 0)
+++ Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_22.1_23.1.sql (revision 624b79046befa32185f168e9e63c42859ec0f83e)
@@ -0,0 +1,215 @@
+/*
+Migration script for migrating Riskeer databases.
+SourceProject version: 22.1
+TargetProject version: 23.1
+*/
+
+PRAGMA foreign_keys = OFF;
+
+ATTACH DATABASE "{0}" AS SOURCEPROJECT;
+
+INSERT INTO AssessmentSectionEntity SELECT * FROM [SOURCEPROJECT].AssessmentSectionEntity;
+INSERT INTO FailureMechanismSectionEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismSectionEntity;
+INSERT INTO FailureMechanismEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismEntity;
+INSERT INTO ClosingStructuresFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresFailureMechanismMetaEntity;
+INSERT INTO CalculationGroupEntity SELECT * FROM [SOURCEPROJECT].CalculationGroupEntity;
+INSERT INTO GrassCoverErosionInwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsFailureMechanismMetaEntity;
+INSERT INTO SemiProbabilisticPipingCalculationEntity SELECT * FROM [SOURCEPROJECT].SemiProbabilisticPipingCalculationEntity;
+INSERT INTO GrassCoverErosionInwardsCalculationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsCalculationEntity;
+INSERT INTO GrassCoverSlipOffInwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].GrassCoverSlipOffInwardsFailureMechanismMetaEntity;
+INSERT INTO GrassCoverErosionOutwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsFailureMechanismMetaEntity;
+INSERT INTO PipingSoilLayerEntity SELECT * FROM [SOURCEPROJECT].PipingSoilLayerEntity;
+INSERT INTO PipingSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingSoilProfileEntity;
+INSERT INTO PipingStochasticSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingStochasticSoilProfileEntity;
+INSERT INTO PipingScenarioConfigurationPerFailureMechanismSectionEntity SELECT * FROM [SOURCEPROJECT].PipingScenarioConfigurationPerFailureMechanismSectionEntity;
+INSERT INTO StochasticSoilModelEntity SELECT * FROM [SOURCEPROJECT].StochasticSoilModelEntity;
+INSERT INTO SurfaceLineEntity SELECT * FROM [SOURCEPROJECT].SurfaceLineEntity;
+INSERT INTO PipingCharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].PipingCharacteristicPointEntity;
+INSERT INTO WaterPressureAsphaltCoverFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].WaterPressureAsphaltCoverFailureMechanismMetaEntity;
+INSERT INTO WaveImpactAsphaltCoverFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverFailureMechanismMetaEntity;
+INSERT INTO AdoptableFailureMechanismSectionResultEntity SELECT * FROM [SOURCEPROJECT].AdoptableFailureMechanismSectionResultEntity;
+INSERT INTO AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity SELECT * FROM [SOURCEPROJECT].AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity;
+INSERT INTO BackgroundDataEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataEntity;
+INSERT INTO BackgroundDataMetaEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataMetaEntity;
+INSERT INTO ClosingStructureEntity SELECT * FROM [SOURCEPROJECT].ClosingStructureEntity;
+INSERT INTO ClosingStructuresCalculationEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresCalculationEntity;
+INSERT INTO ClosingStructuresOutputEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresOutputEntity;
+INSERT INTO DikeProfileEntity SELECT * FROM [SOURCEPROJECT].DikeProfileEntity;
+INSERT INTO DuneErosionFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].DuneErosionFailureMechanismMetaEntity;
+INSERT INTO DuneLocationCalculationEntity SELECT * FROM [SOURCEPROJECT].DuneLocationCalculationEntity;
+INSERT INTO DuneLocationCalculationForTargetProbabilityCollectionEntity SELECT * FROM [SOURCEPROJECT].DuneLocationCalculationForTargetProbabilityCollectionEntity;
+INSERT INTO DuneLocationCalculationOutputEntity SELECT * FROM [SOURCEPROJECT].DuneLocationCalculationOutputEntity;
+INSERT INTO DuneLocationEntity SELECT * FROM [SOURCEPROJECT].DuneLocationEntity;
+INSERT INTO FailureMechanismFailureMechanismSectionEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismFailureMechanismSectionEntity;
+INSERT INTO FaultTreeIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].FaultTreeIllustrationPointEntity;
+INSERT INTO FaultTreeIllustrationPointStochastEntity SELECT * FROM [SOURCEPROJECT].FaultTreeIllustrationPointStochastEntity;
+INSERT INTO FaultTreeSubmechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].FaultTreeSubmechanismIllustrationPointEntity;
+INSERT INTO ForeshoreProfileEntity SELECT * FROM [SOURCEPROJECT].ForeshoreProfileEntity;
+INSERT INTO GeneralResultFaultTreeIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].GeneralResultFaultTreeIllustrationPointEntity;
+INSERT INTO GeneralResultFaultTreeIllustrationPointStochastEntity SELECT * FROM [SOURCEPROJECT].GeneralResultFaultTreeIllustrationPointStochastEntity;
+INSERT INTO GeneralResultSubMechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].GeneralResultSubMechanismIllustrationPointEntity;
+INSERT INTO GeneralResultSubMechanismIllustrationPointStochastEntity SELECT * FROM [SOURCEPROJECT].GeneralResultSubMechanismIllustrationPointStochastEntity;
+INSERT INTO GrassCoverErosionInwardsDikeHeightOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsDikeHeightOutputEntity;
+INSERT INTO GrassCoverErosionInwardsOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsOutputEntity;
+INSERT INTO GrassCoverErosionInwardsOvertoppingRateOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsOvertoppingRateOutputEntity;
+INSERT INTO GrassCoverErosionOutwardsWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsCalculationEntity;
+INSERT INTO GrassCoverErosionOutwardsWaveConditionsOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsOutputEntity;
+INSERT INTO GrassCoverSlipOffOutwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].GrassCoverSlipOffOutwardsFailureMechanismMetaEntity;
+INSERT INTO HeightStructureEntity SELECT * FROM [SOURCEPROJECT].HeightStructureEntity;
+INSERT INTO HeightStructuresCalculationEntity SELECT * FROM [SOURCEPROJECT].HeightStructuresCalculationEntity;
+INSERT INTO HeightStructuresFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].HeightStructuresFailureMechanismMetaEntity;
+INSERT INTO HeightStructuresOutputEntity SELECT * FROM [SOURCEPROJECT].HeightStructuresOutputEntity;
+INSERT INTO HydraulicBoundaryDataEntity (
+ [HydraulicBoundaryDataEntityId],
+ [AssessmentSectionEntityId],
+ [HydraulicLocationConfigurationDatabaseFilePath],
+ [HydraulicLocationConfigurationDatabaseScenarioName],
+ [HydraulicLocationConfigurationDatabaseYear],
+ [HydraulicLocationConfigurationDatabaseScope],
+ [HydraulicLocationConfigurationDatabaseSeaLevel],
+ [HydraulicLocationConfigurationDatabaseRiverDischarge],
+ [HydraulicLocationConfigurationDatabaseLakeLevel],
+ [HydraulicLocationConfigurationDatabaseWindDirection],
+ [HydraulicLocationConfigurationDatabaseWindSpeed],
+ [HydraulicLocationConfigurationDatabaseComment]
+)
+SELECT
+ [HydraulicBoundaryDatabaseEntity],
+ [AssessmentSectionEntityId],
+ [HydraulicLocationConfigurationSettingsFilePath],
+ [HydraulicLocationConfigurationSettingsScenarioName],
+ [HydraulicLocationConfigurationSettingsYear],
+ [HydraulicLocationConfigurationSettingsScope],
+ [HydraulicLocationConfigurationSettingsSeaLevel],
+ [HydraulicLocationConfigurationSettingsRiverDischarge],
+ [HydraulicLocationConfigurationSettingsLakeLevel],
+ [HydraulicLocationConfigurationSettingsWindDirection],
+ [HydraulicLocationConfigurationSettingsWindSpeed],
+ [HydraulicLocationConfigurationSettingsComment]
+FROM [SOURCEPROJECT].HydraulicBoundaryDatabaseEntity;
+INSERT INTO HydraulicBoundaryDatabaseEntity (
+ [HydraulicBoundaryDataEntityId],
+ [Version],
+ [FilePath],
+ [UsePreprocessorClosure],
+ [Order]
+)
+SELECT
+ [HydraulicBoundaryDatabaseEntity],
+ [Version],
+ [FilePath],
+ [HydraulicLocationConfigurationSettingsUsePreprocessorClosure],
+ 0
+FROM [SOURCEPROJECT].HydraulicBoundaryDatabaseEntity;
+INSERT INTO HydraulicLocationEntity (
+ [HydraulicLocationEntityId],
+ [HydraulicBoundaryDatabaseEntityId],
+ [LocationId],
+ [Name],
+ [LocationX],
+ [LocationY],
+ [Order]
+)
+SELECT
+ [HydraulicLocationEntityId],
+ [HydraulicBoundaryDatabaseEntityId],
+ [LocationId],
+ [Name],
+ [LocationX],
+ [LocationY],
+ [Order]
+FROM [SOURCEPROJECT].HydraulicLocationEntity
+JOIN (
+ SELECT HydraulicBoundaryDatabaseEntityId FROM HydraulicBoundaryDatabaseEntity LIMIT 1
+);
+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 HydraulicLocationOutputEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationOutputEntity;
+INSERT INTO IllustrationPointResultEntity SELECT * FROM [SOURCEPROJECT].IllustrationPointResultEntity;
+INSERT INTO MacroStabilityInwardsCalculationEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsCalculationEntity;
+INSERT INTO MacroStabilityInwardsCalculationOutputEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsCalculationOutputEntity;
+INSERT INTO MacroStabilityInwardsCharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsCharacteristicPointEntity;
+INSERT INTO MacroStabilityInwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsFailureMechanismMetaEntity;
+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 MicrostabilityFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].MicrostabilityFailureMechanismMetaEntity;
+INSERT INTO NonAdoptableFailureMechanismSectionResultEntity SELECT * FROM [SOURCEPROJECT].NonAdoptableFailureMechanismSectionResultEntity;
+INSERT INTO NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity SELECT * FROM [SOURCEPROJECT].NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity;
+INSERT INTO PipingFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].PipingFailureMechanismMetaEntity;
+INSERT INTO PipingStructureFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].PipingStructureFailureMechanismMetaEntity;
+INSERT INTO ProbabilisticPipingCalculationEntity SELECT * FROM [SOURCEPROJECT].ProbabilisticPipingCalculationEntity;
+INSERT INTO ProbabilisticPipingCalculationOutputEntity SELECT * FROM [SOURCEPROJECT].ProbabilisticPipingCalculationOutputEntity;
+INSERT INTO ProjectEntity SELECT * FROM [SOURCEPROJECT].ProjectEntity;
+INSERT INTO SemiProbabilisticPipingCalculationOutputEntity SELECT * FROM [SOURCEPROJECT].SemiProbabilisticPipingCalculationOutputEntity;
+INSERT INTO SpecificFailureMechanismEntity SELECT * 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 SELECT * FROM [SOURCEPROJECT].StabilityPointStructuresFailureMechanismMetaEntity;
+INSERT INTO StabilityPointStructuresOutputEntity SELECT * FROM [SOURCEPROJECT].StabilityPointStructuresOutputEntity;
+INSERT INTO StabilityStoneCoverFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverFailureMechanismMetaEntity;
+INSERT INTO StabilityStoneCoverWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsCalculationEntity;
+INSERT INTO StabilityStoneCoverWaveConditionsOutputEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsOutputEntity;
+INSERT INTO StochastEntity SELECT * FROM [SOURCEPROJECT].StochastEntity;
+INSERT INTO SubMechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].SubMechanismIllustrationPointEntity;
+INSERT INTO SubMechanismIllustrationPointStochastEntity SELECT * FROM [SOURCEPROJECT].SubMechanismIllustrationPointStochastEntity;
+INSERT INTO TopLevelFaultTreeIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].TopLevelFaultTreeIllustrationPointEntity;
+INSERT INTO TopLevelSubMechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].TopLevelSubMechanismIllustrationPointEntity;
+INSERT INTO VersionEntity (
+ [VersionId],
+ [Version],
+ [Timestamp],
+ [FingerPrint])
+SELECT
+ [VersionId],
+ "23.1",
+ [Timestamp],
+ [FingerPrint]
+FROM [SOURCEPROJECT].VersionEntity;
+INSERT INTO WaveImpactAsphaltCoverWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsCalculationEntity;
+INSERT INTO WaveImpactAsphaltCoverWaveConditionsOutputEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsOutputEntity;
+
+/*
+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 ("22.1", "23.1", "Gevolgen van de migratie van versie 22.1 naar versie 23.1:");
+
+INSERT INTO [LOGDATABASE].MigrationLogEntity (
+ [FromVersion],
+ [ToVersion],
+ [LogMessage])
+SELECT "22.1",
+ "23.1",
+ "* Geen aanpassingen."
+ WHERE (
+ SELECT COUNT() FROM [LOGDATABASE].MigrationLogEntity
+ WHERE [FromVersion] = "22.1"
+ ) IS 1;
+
+DETACH LOGDATABASE;
+
+DETACH SOURCEPROJECT;
+
+PRAGMA foreign_keys = ON;
\ No newline at end of file
Index: Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationTo231IntegrationTest.cs
===================================================================
diff -u
--- Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationTo231IntegrationTest.cs (revision 0)
+++ Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationTo231IntegrationTest.cs (revision 624b79046befa32185f168e9e63c42859ec0f83e)
@@ -0,0 +1,291 @@
+// Copyright (C) Stichting Deltares 2022. 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.Collections.ObjectModel;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Riskeer.Migration.Core;
+using Riskeer.Migration.Core.TestUtil;
+
+namespace Riskeer.Migration.Integration.Test
+{
+ public class MigrationTo222IntegrationTest
+ {
+ private const string newVersion = "23.1";
+
+ [Test]
+ public void Given221Project_WhenUpgradedTo231_ThenProjectAsExpected()
+ {
+ // Given
+ string sourceFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Migration.Core,
+ "MigrationTestProject221.risk");
+ var fromVersionedFile = new ProjectVersionedFile(sourceFilePath);
+
+ string targetFilePath = TestHelper.GetScratchPadPath(nameof(Given221Project_WhenUpgradedTo231_ThenProjectAsExpected));
+ string logFilePath = TestHelper.GetScratchPadPath(string.Concat(nameof(Given221Project_WhenUpgradedTo231_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);
+
+ AssertVersions(reader);
+ AssertDatabase(reader);
+
+ AssertHydraulicBoundaryData(reader, sourceFilePath);
+ AssertHydraulicBoundaryDatabase(reader, sourceFilePath);
+ AssertHydraulicLocation(reader, sourceFilePath);
+ }
+
+ AssertLogDatabase(logFilePath);
+ }
+ }
+
+ private static void AssertHydraulicBoundaryData(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateHydraulicBoundaryData =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.HydraulicBoundaryDatabaseEntity " +
+ ") " +
+ "FROM HydraulicBoundaryDataEntity NEW " +
+ "JOIN SOURCEPROJECT.HydraulicBoundaryDatabaseEntity OLD ON NEW.HydraulicBoundaryDataEntityId = OLD.HydraulicBoundaryDatabaseEntity " +
+ "WHERE NEW.[AssessmentSectionEntityId] = OLD.[AssessmentSectionEntityId] " +
+ "AND NEW.[HydraulicLocationConfigurationDatabaseFilePath] = OLD.[HydraulicLocationConfigurationSettingsFilePath]" +
+ "AND NEW.[HydraulicLocationConfigurationDatabaseScenarioName] = OLD.[HydraulicLocationConfigurationSettingsScenarioName] " +
+ "AND NEW.[HydraulicLocationConfigurationDatabaseYear] = OLD.[HydraulicLocationConfigurationSettingsYear] " +
+ "AND NEW.[HydraulicLocationConfigurationDatabaseScope] = OLD.[HydraulicLocationConfigurationSettingsScope] " +
+ "AND NEW.[HydraulicLocationConfigurationDatabaseSeaLevel] IS OLD.[HydraulicLocationConfigurationSettingsSeaLevel] " +
+ "AND NEW.[HydraulicLocationConfigurationDatabaseRiverDischarge] IS OLD.[HydraulicLocationConfigurationSettingsRiverDischarge] " +
+ "AND NEW.[HydraulicLocationConfigurationDatabaseLakeLevel] IS OLD.[HydraulicLocationConfigurationSettingsLakeLevel] " +
+ "AND NEW.[HydraulicLocationConfigurationDatabaseWindDirection] IS OLD.[HydraulicLocationConfigurationSettingsWindDirection] " +
+ "AND NEW.[HydraulicLocationConfigurationDatabaseWindSpeed] IS OLD.[HydraulicLocationConfigurationSettingsWindSpeed] " +
+ "AND NEW.[HydraulicLocationConfigurationDatabaseComment] IS OLD.[HydraulicLocationConfigurationSettingsComment]; " +
+ "DETACH SOURCEPROJECT";
+
+ reader.AssertReturnedDataIsValid(validateHydraulicBoundaryData);
+ }
+
+ private static void AssertHydraulicBoundaryDatabase(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateHydraulicBoundaryDatabase =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.HydraulicBoundaryDatabaseEntity " +
+ ") " +
+ "FROM HydraulicBoundaryDatabaseEntity NEW " +
+ "JOIN SOURCEPROJECT.HydraulicBoundaryDatabaseEntity OLD ON NEW.HydraulicBoundaryDataEntityId = OLD.HydraulicBoundaryDatabaseEntity " +
+ "WHERE NEW.[Version] = OLD.[Version] " +
+ "AND NEW.[FilePath] = OLD.[FilePath] " +
+ "AND NEW.[UsePreprocessorClosure] = OLD.[HydraulicLocationConfigurationSettingsUsePreprocessorClosure] " +
+ "AND NEW.\"Order\" = 0; " +
+ "DETACH SOURCEPROJECT";
+
+ reader.AssertReturnedDataIsValid(validateHydraulicBoundaryDatabase);
+ }
+
+ private static void AssertHydraulicLocation(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string validateHydraulicLocation =
+ $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " +
+ "SELECT COUNT() = " +
+ "(" +
+ "SELECT COUNT() " +
+ "FROM SOURCEPROJECT.HydraulicLocationEntity " +
+ ") " +
+ "FROM HydraulicLocationEntity NEW " +
+ "JOIN ( " +
+ "SELECT " +
+ "[HydraulicBoundaryDatabaseEntityId] AS HBDId " +
+ "FROM HydraulicBoundaryDatabaseEntity" +
+ ") " +
+ "ON NEW.HydraulicBoundaryDatabaseEntityId = HBDId " +
+ "JOIN SOURCEPROJECT.HydraulicLocationEntity OLD USING(HydraulicLocationEntityId) " +
+ "WHERE NEW.[LocationId] = OLD.[LocationId] " +
+ "AND NEW.[Name] = OLD.[Name] " +
+ "AND NEW.[LocationX] IS OLD.[LocationX] " +
+ "AND NEW.[LocationY] IS OLD.[LocationY] " +
+ "AND NEW.\"Order\" = OLD.\"Order\"; " +
+ "DETACH SOURCEPROJECT";
+
+ reader.AssertReturnedDataIsValid(validateHydraulicLocation);
+ }
+
+ private static void AssertTablesContentMigrated(MigratedDatabaseReader reader, string sourceFilePath)
+ {
+ string[] tables =
+ {
+ "AssessmentSectionEntity",
+ "FailureMechanismSectionEntity",
+ "FailureMechanismEntity",
+ "ClosingStructuresFailureMechanismMetaEntity",
+ "CalculationGroupEntity",
+ "GrassCoverErosionInwardsFailureMechanismMetaEntity",
+ "SemiProbabilisticPipingCalculationEntity",
+ "GrassCoverErosionInwardsCalculationEntity",
+ "GrassCoverSlipOffInwardsFailureMechanismMetaEntity",
+ "GrassCoverErosionOutwardsFailureMechanismMetaEntity",
+ "PipingSoilLayerEntity",
+ "PipingSoilProfileEntity",
+ "PipingStochasticSoilProfileEntity",
+ "PipingScenarioConfigurationPerFailureMechanismSectionEntity",
+ "StochasticSoilModelEntity",
+ "SurfaceLineEntity",
+ "PipingCharacteristicPointEntity",
+ "WaterPressureAsphaltCoverFailureMechanismMetaEntity",
+ "WaveImpactAsphaltCoverFailureMechanismMetaEntity",
+ "AdoptableFailureMechanismSectionResultEntity",
+ "AdoptableWithProfileProbabilityFailureMechanismSectionResultEntity",
+ "BackgroundDataEntity",
+ "BackgroundDataMetaEntity",
+ "ClosingStructureEntity",
+ "ClosingStructuresCalculationEntity",
+ "ClosingStructuresOutputEntity",
+ "DikeProfileEntity",
+ "DuneErosionFailureMechanismMetaEntity",
+ "DuneLocationCalculationEntity",
+ "DuneLocationCalculationForTargetProbabilityCollectionEntity",
+ "DuneLocationCalculationOutputEntity",
+ "DuneLocationEntity",
+ "FailureMechanismFailureMechanismSectionEntity",
+ "FaultTreeIllustrationPointEntity",
+ "FaultTreeIllustrationPointStochastEntity",
+ "FaultTreeSubmechanismIllustrationPointEntity",
+ "ForeshoreProfileEntity",
+ "GeneralResultFaultTreeIllustrationPointEntity",
+ "GeneralResultFaultTreeIllustrationPointStochastEntity",
+ "GeneralResultSubMechanismIllustrationPointEntity",
+ "GeneralResultSubMechanismIllustrationPointStochastEntity",
+ "GrassCoverErosionInwardsDikeHeightOutputEntity",
+ "GrassCoverErosionInwardsOutputEntity",
+ "GrassCoverErosionInwardsOvertoppingRateOutputEntity",
+ "GrassCoverErosionOutwardsWaveConditionsCalculationEntity",
+ "GrassCoverErosionOutwardsWaveConditionsOutputEntity",
+ "GrassCoverSlipOffOutwardsFailureMechanismMetaEntity",
+ "HeightStructureEntity",
+ "HeightStructuresCalculationEntity",
+ "HeightStructuresFailureMechanismMetaEntity",
+ "HeightStructuresOutputEntity",
+ "HydraulicLocationCalculationCollectionEntity",
+ "HydraulicLocationCalculationCollectionHydraulicLocationCalculationEntity",
+ "HydraulicLocationCalculationEntity",
+ "HydraulicLocationCalculationForTargetProbabilityCollectionEntity",
+ "HydraulicLocationCalculationForTargetProbabilityCollectionHydraulicLocationCalculationEntity",
+ "HydraulicLocationOutputEntity",
+ "IllustrationPointResultEntity",
+ "MacroStabilityInwardsCalculationEntity",
+ "MacroStabilityInwardsCalculationOutputEntity",
+ "MacroStabilityInwardsCharacteristicPointEntity",
+ "MacroStabilityInwardsFailureMechanismMetaEntity",
+ "MacroStabilityInwardsPreconsolidationStressEntity",
+ "MacroStabilityInwardsSoilLayerOneDEntity",
+ "MacroStabilityInwardsSoilLayerTwoDEntity",
+ "MacroStabilityInwardsSoilProfileOneDEntity",
+ "MacroStabilityInwardsSoilProfileTwoDEntity",
+ "MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity",
+ "MacroStabilityInwardsStochasticSoilProfileEntity",
+ "MicrostabilityFailureMechanismMetaEntity",
+ "NonAdoptableFailureMechanismSectionResultEntity",
+ "NonAdoptableWithProfileProbabilityFailureMechanismSectionResultEntity",
+ "PipingFailureMechanismMetaEntity",
+ "PipingStructureFailureMechanismMetaEntity",
+ "ProbabilisticPipingCalculationEntity",
+ "ProbabilisticPipingCalculationOutputEntity",
+ "ProjectEntity",
+ "SemiProbabilisticPipingCalculationOutputEntity",
+ "SpecificFailureMechanismEntity",
+ "SpecificFailureMechanismFailureMechanismSectionEntity",
+ "StabilityPointStructureEntity",
+ "StabilityPointStructuresCalculationEntity",
+ "StabilityPointStructuresFailureMechanismMetaEntity",
+ "StabilityPointStructuresOutputEntity",
+ "StabilityStoneCoverFailureMechanismMetaEntity",
+ "StabilityStoneCoverWaveConditionsCalculationEntity",
+ "StabilityStoneCoverWaveConditionsOutputEntity",
+ "StochastEntity",
+ "SubMechanismIllustrationPointEntity",
+ "SubMechanismIllustrationPointStochastEntity",
+ "TopLevelFaultTreeIllustrationPointEntity",
+ "TopLevelSubMechanismIllustrationPointEntity",
+ "VersionEntity",
+ "WaveImpactAsphaltCoverWaveConditionsCalculationEntity",
+ "WaveImpactAsphaltCoverWaveConditionsOutputEntity"
+ };
+
+ 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)
+ {
+ using (var reader = new MigrationLogDatabaseReader(logFilePath))
+ {
+ ReadOnlyCollection messages = reader.GetMigrationLogMessages();
+
+ Assert.AreEqual(2, messages.Count);
+ var i = 0;
+ MigrationLogTestHelper.AssertMigrationLogMessageEqual(
+ new MigrationLogMessage("22.1", newVersion, "Gevolgen van de migratie van versie 22.1 naar versie 23.1:"),
+ messages[i++]);
+ MigrationLogTestHelper.AssertMigrationLogMessageEqual(
+ new MigrationLogMessage("22.1", newVersion, "* Geen aanpassingen."),
+ messages[i]);
+ }
+ }
+
+ private static void AssertVersions(MigratedDatabaseReader reader)
+ {
+ const string validateVersion =
+ "SELECT COUNT() = 1 " +
+ "FROM [VersionEntity] " +
+ "WHERE [Version] = \"23.1\";";
+ reader.AssertReturnedDataIsValid(validateVersion);
+ }
+
+ private static void AssertDatabase(MigratedDatabaseReader reader)
+ {
+ const string validateForeignKeys =
+ "PRAGMA foreign_keys;";
+ reader.AssertReturnedDataIsValid(validateForeignKeys);
+ }
+ }
+}
\ No newline at end of file
Index: build/GlobalAssembly.cs
===================================================================
diff -u -r208ef0d399b1fd35ae9046d60d30294842170cd6 -r624b79046befa32185f168e9e63c42859ec0f83e
--- build/GlobalAssembly.cs (.../GlobalAssembly.cs) (revision 208ef0d399b1fd35ae9046d60d30294842170cd6)
+++ build/GlobalAssembly.cs (.../GlobalAssembly.cs) (revision 624b79046befa32185f168e9e63c42859ec0f83e)
@@ -35,5 +35,5 @@
[assembly: ComVisible(false)]
[assembly: CLSCompliant(false)]
-[assembly: AssemblyVersion("22.2.1.1")]
-[assembly: AssemblyFileVersion("22.2.1.1")]
\ No newline at end of file
+[assembly: AssemblyVersion("23.1.1.1")]
+[assembly: AssemblyFileVersion("23.1.1.1")]
\ No newline at end of file
Index: Riskeer/Migration/test/Riskeer.Migration.Core.Test/test-data/MigrationTestProject231.risk
===================================================================
diff -u -rc0c435179f73dd549c951f08bd976d42f194167e -r624b79046befa32185f168e9e63c42859ec0f83e
Binary files differ