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