Index: Ringtoets.sln =================================================================== diff -u -rae4884737b490380d1a81bd0e584d8525d76deeb -reb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 --- Ringtoets.sln (.../Ringtoets.sln) (revision ae4884737b490380d1a81bd0e584d8525d76deeb) +++ Ringtoets.sln (.../Ringtoets.sln) (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -1937,7 +1937,7 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{9BD55D5D-0C33-491D-995F-88FD763AB4C5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.Migration.Core", "Ringtoets\Migration\src\Ringtoets.Migration.Core\Riskeer.Migration.Core.csproj", "{FAC55B92-E259-43D6-B9A1-5BDA6C834359}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.Migration.Core", "Ringtoets\Migration\src\Riskeer.Migration.Core\Riskeer.Migration.Core.csproj", "{FAC55B92-E259-43D6-B9A1-5BDA6C834359}" ProjectSection(ProjectDependencies) = postProject {C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC} EndProjectSection Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/DatabaseStructure17.1.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/DatabaseStructure17.2.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/DatabaseStructure17.3.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/DatabaseStructure18.1.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/DatabaseStructure19.1.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_17.1_17.2.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_17.2_17.3.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_17.3_18.1.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/EmbeddedResources/Migration_5_17.1.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/MigrationLogDatabaseReader.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/MigrationLogEntityTableDefinitions.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/MigrationLogMessage.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/Properties/AssemblyInfo.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/Properties/Resources.Designer.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/Properties/Resources.resx'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/RingtoetsCreateScript.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/RingtoetsDatabaseFile.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/RingtoetsDatabaseQueryBuilder.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/RingtoetsDatabaseSourceFile.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/RingtoetsSqLiteDatabaseFileMigrator.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/RingtoetsUpgradeScript.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/RingtoetsVersionedFile.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/Riskeer.Migration.Core.csproj'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/VersionTableDefinitions.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08 refers to a dead (removed) revision in file `Ringtoets/Migration/src/Ringtoets.Migration.Core/packages.config'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure17.1.sql =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure17.1.sql (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure17.1.sql (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,1751 @@ +/* ---------------------------------------------------- */ +/* Generated by Enterprise Architect Version 12.0 */ +/* Created On : 12-apr-2017 15:44:34 */ +/* DBMS : SQLite */ +/* ---------------------------------------------------- */ + +/* Drop Tables */ + +DROP TABLE IF EXISTS 'VersionEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsDikeHeightOutputEntity' +; + +DROP TABLE IF EXISTS 'ProjectEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'AssessmentSectionEntity' +; + +DROP TABLE IF EXISTS 'FailureMechanismEntity' +; + +DROP TABLE IF EXISTS 'FailureMechanismSectionEntity' +; + +DROP TABLE IF EXISTS 'PipingFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'DuneErosionFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'CalculationGroupEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationEntity' +; + +DROP TABLE IF EXISTS 'PipingCalculationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsCalculationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'SoilLayerEntity' +; + +DROP TABLE IF EXISTS 'SoilProfileEntity' +; + +DROP TABLE IF EXISTS 'StochasticSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'StochasticSoilModelEntity' +; + +DROP TABLE IF EXISTS 'SurfaceLineEntity' +; + +DROP TABLE IF EXISTS 'CharacteristicPointEntity' +; + +DROP TABLE IF EXISTS 'PipingCalculationOutputEntity' +; + +DROP TABLE IF EXISTS 'PipingSemiProbabilisticOutputEntity' +; + +DROP TABLE IF EXISTS 'PipingSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StrengthStabilityLengthwiseConstructionSectionResultEntity' +; + +DROP TABLE IF EXISTS 'TechnicalInnovationSectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaterPressureAsphaltCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverSlipOffInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverSlipOffOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MacrostabilityInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MacrostabilityOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MicrostabilitySectionResultEntity' +; + +DROP TABLE IF EXISTS 'PipingStructureSectionResultEntity' +; + +DROP TABLE IF EXISTS 'DuneErosionSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'DikeProfileEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsOutputEntity' +; + +DROP TABLE IF EXISTS 'ForeshoreProfileEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsHydraulicLocationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'HeightStructureEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructureEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructureEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationOutputEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationOutputEntity' +; + +DROP TABLE IF EXISTS 'BackgroundDataEntity' +; + +DROP TABLE IF EXISTS 'BackgroundDataMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' +; + +/* 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 'GrassCoverErosionInwardsDikeHeightOutputEntity' +( + 'GrassCoverErosionInwardsDikeHeightOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL, + 'DikeHeight' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + 'CalculationConvergence' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculationNotConverged, 3 = CalculationConverged + CONSTRAINT 'FK_GrassCoverErosionInwardsDikeHeightOutputEntity_GrassCoverErosionInwardsOutputEntity' FOREIGN KEY ('GrassCoverErosionInwardsOutputEntityId') REFERENCES 'GrassCoverErosionInwardsOutputEntity' ('GrassCoverErosionInwardsOutputEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_GrassCoverErosionInwardsOutputEntity' UNIQUE ('GrassCoverErosionInwardsOutputEntityId') +) +; + +CREATE TABLE 'ProjectEntity' +( + 'ProjectEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Description' VARCHAR (260) +) +; + +CREATE TABLE 'StabilityPointStructuresCalculationEntity' +( + 'StabilityPointStructuresCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'StabilityPointStructureEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ConstructiveStrengthLinearLoadModelMean' REAL, + 'ConstructiveStrengthLinearLoadModelCoefficientOfVariation' REAL, + 'ConstructiveStrengthQuadraticLoadModelMean' REAL, + 'ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation' REAL, + 'BankWidthMean' REAL, + 'BankWidthStandardDeviation' REAL, + 'InsideWaterLevelFailureConstructionMean' REAL, + 'InsideWaterLevelFailureConstructionStandardDeviation' REAL, + 'EvaluationLevel' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'VerticalDistance' REAL, + 'FailureProbabilityRepairClosure' REAL NOT NULL, + 'FailureCollisionEnergyMean' REAL, + 'FailureCollisionEnergyCoefficientOfVariation' REAL, + 'ShipMassMean' REAL, + 'ShipMassCoefficientOfVariation' REAL, + 'ShipVelocityMean' REAL, + 'ShipVelocityCoefficientOfVariation' REAL, + 'LevellingCount' INT (4) NOT NULL, + 'ProbabilityCollisionSecondaryStructure' REAL NOT NULL, + 'FlowVelocityStructureClosableMean' REAL, + 'StabilityLinearLoadModelMean' REAL, + 'StabilityLinearLoadModelCoefficientOfVariation' REAL, + 'StabilityQuadraticLoadModelMean' REAL, + 'StabilityQuadraticLoadModelCoefficientOfVariation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'InflowModelType' TINYINT (1) NOT NULL, -- Enum: 1 = VerticalWall, 2 = LowSill, 3 = FloodedCulvert + 'LoadSchematizationType' TINYINT (1) NOT NULL, -- Enum: 1 = Linear, 2 = Quadratic + 'VolumicWeightWater' REAL, + 'StormDurationMean' REAL, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'FactorStormDurationOpenStructure' REAL, + 'DrainCoefficientMean' REAL, + 'FailureProbabilityStructureWithErosion' 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 'AssessmentSectionEntity' +( + 'AssessmentSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ProjectEntityId' INTEGER NOT NULL, + 'Id' TEXT, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'Norm' REAL NOT NULL, + 'HydraulicDatabaseVersion' TEXT, + 'HydraulicDatabaseLocation' TEXT, + 'Composition' TINYINT (1) NOT NULL, -- Enum: 1 = Dike, 2 = Dune, 3 = DikeAndDune + 'ReferenceLinePointXml' TEXT, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_AssessmentSectionEntity_ProjectEntity' FOREIGN KEY ('ProjectEntityId') REFERENCES 'ProjectEntity' ('ProjectEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'FailureMechanismEntity' +( + 'FailureMechanismEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'AssessmentSectionEntityId' INTEGER NOT NULL, + 'CalculationGroupEntityId' INTEGER, + '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 = Macrostabiliteit buitenwaarts, 14 = Microstabiliteit, 15 = Wateroverdruk bij asfaltbekleding, 16 = Grasbekleding afschuiven binnentalud, 17 = Sterkte en stabiliteit langsconstructires, 18 = Technische innovaties + 'IsRelevant' TINYINT (1) NOT NULL, -- true or false + 'InputComments' TEXT, + 'OutputComments' TEXT, + 'NotRelevantComments' TEXT, + CONSTRAINT 'FK_FailureMechanismEntity_AssessmentSectionEntity' FOREIGN KEY ('AssessmentSectionEntityId') REFERENCES 'AssessmentSectionEntity' ('AssessmentSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_FailureMechanismEntity_CalculationGroupEntity' FOREIGN KEY ('CalculationGroupEntityId') REFERENCES 'CalculationGroupEntity' ('CalculationGroupEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'UI_AssessmentSectionEntityId_FailureMechanismType' UNIQUE ('AssessmentSectionEntityId','FailureMechanismType') +) +; + +CREATE TABLE 'FailureMechanismSectionEntity' +( + 'FailureMechanismSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'FailureMechanismSectionPointXml' TEXT NOT NULL, + CONSTRAINT 'FK_FailureMechanismSectionEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') 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, + 'StochasticSoilModelSourcePath' TEXT, + 'SurfaceLineSourcePath' TEXT, + CONSTRAINT 'FK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresFailureMechanismMetaEntity' +( + 'StrengthStabilityPointConstructionFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' INT (4) NOT NULL, + CONSTRAINT 'FK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'ClosingStructuresFailureMechanismMetaEntity' +( + 'ClosingStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N2A' INT (4) NOT NULL, + CONSTRAINT 'FK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +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 'CalculationGroupEntity' +( + 'CalculationGroupEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ParentCalculationGroupEntityId' INTEGER, + 'Name' VARCHAR (260), + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_CalculationGroupEntity_CalculationGroupEntity' FOREIGN KEY ('ParentCalculationGroupEntityId') REFERENCES 'CalculationGroupEntity' ('CalculationGroupEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'HeightStructuresFailureMechanismMetaEntity' +( + 'HeightStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' INT (4) NOT NULL, + CONSTRAINT 'FK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'HydraulicLocationEntity' +( + 'HydraulicLocationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'AssessmentSectionEntityId' INTEGER NOT NULL, + 'LocationId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'LocationX' REAL, + 'LocationY' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_HydraulicLocationEntity_AssessmentSectionEntity' FOREIGN KEY ('AssessmentSectionEntityId') REFERENCES 'AssessmentSectionEntity' ('AssessmentSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingCalculationEntity' +( + 'PipingCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'SurfaceLineEntityId' INTEGER, + 'StochasticSoilProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'EntryPointL' REAL, + 'ExitPointL' REAL, + 'PhreaticLevelExitMean' REAL, + 'PhreaticLevelExitStandardDeviation' REAL, + 'DampingFactorExitMean' REAL, + 'DampingFactorExitStandardDeviation' REAL, + 'RelevantForScenario' TINYINT (1) NOT NULL, -- true or false + 'ScenarioContribution' REAL, + 'AssessmentLevel' REAL, + 'UseAssessmentLevelManualInput' TINYINT (1) NOT NULL, -- true or false + CONSTRAINT 'FK_PipingCalculationEntity_CalculationGroupEntity' FOREIGN KEY ('CalculationGroupEntityId') REFERENCES 'CalculationGroupEntity' ('CalculationGroupEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_HydraulicLocationEntity' FOREIGN KEY ('HydraulicLocationEntityId') REFERENCES 'HydraulicLocationEntity' ('HydraulicLocationEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_StochasticSoilProfileEntity' FOREIGN KEY ('StochasticSoilProfileEntityId') REFERENCES 'StochasticSoilProfileEntity' ('StochasticSoilProfileEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsFailureMechanismMetaEntity' +( + 'GrassCoverErosionInwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' INT (4) NOT NULL, + 'DikeProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsCalculationEntity' +( + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'HydraulicLocationEntityId' INTEGER, + 'DikeProfileEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'Orientation' REAL, + 'CriticalFlowRateMean' REAL, + 'CriticalFlowRateStandardDeviation' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'DikeHeightCalculationType' TINYINT (1) NOT NULL, -- Enum: 1 = NoCalculation, 2 = CalculateByAssessmentSectionNorm, 3 = CalculateByProfileSpecificRequiredProbability + 'DikeHeight' REAL, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'OvertoppingRateCalculationType' TINYINT (1) NOT NULL, -- Enum: 1 = NoCalculation, 2 = CalculateByAssessmentSectionNorm, 3 = CalculateByProfileSpecificRequiredProbability + CONSTRAINT 'FK_GrassCoverErosionInwardsCalculationEntity_CalculationGroupEntity' FOREIGN KEY ('CalculationGroupEntityId') REFERENCES 'CalculationGroupEntity' ('CalculationGroupEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionInwardsCalculationEntity_DikeProfileEntity' FOREIGN KEY ('DikeProfileEntityId') REFERENCES 'DikeProfileEntity' ('DikeProfileEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionInwardsCalculationEntity_HydraulicLocationEntity' FOREIGN KEY ('HydraulicLocationEntityId') REFERENCES 'HydraulicLocationEntity' ('HydraulicLocationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' +( + 'GrassCoverErosionOutwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' INT (4) NOT NULL, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'SoilLayerEntity' +( + 'SoilLayerEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'SoilProfileEntityId' INTEGER NOT NULL, + 'Top' REAL, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER NOT NULL, -- ARGB value of Color. + 'MaterialName' TEXT NOT NULL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelDeviation' REAL, + 'DiameterD70Mean' REAL, + 'DiameterD70CoefficientOfVariation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'PermeabilityMean' REAL, + 'PermeabilityCoefficientOfVariation' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_SoilLayerEntity_SoilProfileEntity' FOREIGN KEY ('SoilProfileEntityId') REFERENCES 'SoilProfileEntity' ('SoilProfileEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'SoilProfileEntity' +( + 'SoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Bottom' REAL, + 'Name' TEXT +) +; + +CREATE TABLE 'StochasticSoilProfileEntity' +( + 'StochasticSoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'SoilProfileEntityId' INTEGER NOT NULL, + 'StochasticSoilModelEntityId' INTEGER NOT NULL, + 'Type' TINYINT (1) NOT NULL, -- Enum: 1 = SoilProfile1D, 2 = SoilProfile2D + 'Probability' REAL NOT NULL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_StochasticSoilProfileEntity_SoilProfileEntity' FOREIGN KEY ('SoilProfileEntityId') REFERENCES 'SoilProfileEntity' ('SoilProfileEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_StochasticSoilProfileEntity_StochasticSoilModelEntity' FOREIGN KEY ('StochasticSoilModelEntityId') REFERENCES 'StochasticSoilModelEntity' ('StochasticSoilModelEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StochasticSoilModelEntity' +( + 'StochasticSoilModelEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Name' TEXT NOT NULL, + 'SegmentName' TEXT, + '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), + 'ReferenceLineIntersectionX' REAL, + 'ReferenceLineIntersectionY' REAL, + '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 'CharacteristicPointEntity' +( + 'CharacteristicPointEntityId' 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, + 'Y' REAL, + 'Z' REAL, + CONSTRAINT 'FK_SurfaceLinePointEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingCalculationOutputEntity' +( + 'PipingCalculationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'PipingCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'HeaveFactorOfSafety' REAL, + 'HeaveZValue' REAL, + 'UpliftFactorOfSafety' REAL, + 'UpliftZValue' REAL, + 'SellmeijerFactorOfSafety' REAL, + 'SellmeijerZValue' REAL, + 'UpliftEffectiveStress' REAL, + 'HeaveGradient' REAL, + 'SellmeijerCreepCoefficient' REAL, + 'SellmeijerCriticalFall' REAL, + 'SellmeijerReducedFall' REAL, + CONSTRAINT 'FK_PipingCalculationOutputEntity_PipingCalculationEntity' FOREIGN KEY ('PipingCalculationEntityId') REFERENCES 'PipingCalculationEntity' ('PipingCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_PipingCalculationEntity' UNIQUE ('PipingCalculationEntityId') +) +; + +CREATE TABLE 'PipingSemiProbabilisticOutputEntity' +( + 'PipingSemiProbabilisticOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'PipingCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'UpliftFactorOfSafety' REAL, + 'UpliftReliability' REAL, + 'UpliftProbability' REAL, + 'HeaveFactorOfSafety' REAL, + 'HeaveReliability' REAL, + 'HeaveProbability' REAL, + 'SellmeijerFactorOfSafety' REAL, + 'SellmeijerReliability' REAL, + 'SellmeijerProbability' REAL, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'PipingProbability' REAL, + 'PipingReliability' REAL, + 'PipingFactorOfSafety' REAL, + CONSTRAINT 'FK_PipingSemiProbabilisticOutputEntity_PipingCalculationEntity' FOREIGN KEY ('PipingCalculationEntityId') REFERENCES 'PipingCalculationEntity' ('PipingCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_PipingCalculationEntity' UNIQUE ('PipingCalculationEntityId') +) +; + +CREATE TABLE 'PipingSectionResultEntity' +( + 'PipingSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_PipingSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsSectionResultEntity' +( + 'GrassCoverErosionInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverErosionInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionInwardsSectionResultEntity_GrassCoverErosionInwardsCalculationEntity' FOREIGN KEY ('GrassCoverErosionInwardsCalculationEntityId') REFERENCES 'GrassCoverErosionInwardsCalculationEntity' ('GrassCoverErosionInwardsCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'HeightStructuresSectionResultEntity' +( + 'HeightStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'HeightStructuresCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_HeightStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_HeightStructuresSectionResultEntity_HeightStructuresCalculationEntity' FOREIGN KEY ('HeightStructuresCalculationEntityId') REFERENCES 'HeightStructuresCalculationEntity' ('HeightStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'StrengthStabilityLengthwiseConstructionSectionResultEntity' +( + 'StrengthStabilityLengthwiseConstructionSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_StrengthStabilityLengthwiseConstructionSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'TechnicalInnovationSectionResultEntity' +( + 'TechnicalInnovationSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_TechnicalInnovationSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaterPressureAsphaltCoverSectionResultEntity' +( + 'WaterPressureAsphaltCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_WaterPressureAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'ClosingStructuresSectionResultEntity' +( + 'ClosingStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'ClosingStructuresCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_ClosingStructuresSectionResultEntity_ClosingStructuresCalculationEntity' FOREIGN KEY ('ClosingStructuresCalculationEntityId') REFERENCES 'ClosingStructuresCalculationEntity' ('ClosingStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_ClosingStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsSectionResultEntity' +( + 'GrassCoverErosionOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverErosionOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverSlipOffInwardsSectionResultEntity' +( + 'GrassCoverSlipOffInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverSlipOffInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverSlipOffOutwardsSectionResultEntity' +( + 'GrassCoverSlipOffOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverSlipOffOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacrostabilityInwardsSectionResultEntity' +( + 'MacrostabilityInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' REAL, + 'LayerThree' REAL, + CONSTRAINT 'FK_MacrostabilityInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacrostabilityOutwardsSectionResultEntity' +( + 'MacrostabilityOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' REAL, + 'LayerThree' REAL, + CONSTRAINT 'FK_MacrostabilityOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaveImpactAsphaltCoverSectionResultEntity' +( + 'WaveImpactAsphaltCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_WaveImpactAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MicrostabilitySectionResultEntity' +( + 'MicrostabilitySectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_MicrostabilitySectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingStructureSectionResultEntity' +( + 'PipingStructureSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_PipingStructureSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'DuneErosionSectionResultEntity' +( + 'DuneErosionSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_DuneErosionSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityStoneCoverSectionResultEntity' +( + 'StabilityStoneCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_StabilityStoneCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresSectionResultEntity' +( + 'StabilityPointStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'StabilityPointStructuresCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_StabilityPointStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_StabilityPointStructuresSectionResultEntity_StabilityPointStructuresCalculationEntity' FOREIGN KEY ('StabilityPointStructuresCalculationEntityId') REFERENCES 'StabilityPointStructuresCalculationEntity' ('StabilityPointStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +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, + 'BreakWaterType' TINYINT (1), -- Enum: 1 = Wall 2 = Caisson 3 = Dam + 'BreakWaterHeight' REAL, + 'ForeshoreXml' TEXT NOT NULL, + 'DikeGeometryXml' TEXT NOT NULL, + 'DikeHeight' REAL, + 'X' REAL, + 'Y' REAL, + 'X0' REAL, + '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 'GrassCoverErosionInwardsOutputEntity' +( + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'IsOvertoppingDominant' TINYINT (1) NOT NULL, -- true or false + 'WaveHeight' REAL, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + CONSTRAINT 'FK_GrassCoverErosionInwardsOutputEntity_GrassCoverErosionInwardsCalculationEntity' FOREIGN KEY ('GrassCoverErosionInwardsCalculationEntityId') REFERENCES 'GrassCoverErosionInwardsCalculationEntity' ('GrassCoverErosionInwardsCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_GrassCoverErosionInwardsCalculationEntity' UNIQUE ('GrassCoverErosionInwardsCalculationEntityId') +) +; + +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, + 'BreakWaterType' TINYINT (1), -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'GeometryXml' TEXT NOT NULL, + 'X' REAL, + 'Y' REAL, + 'X0' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_ForeshoreProfileEntity_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, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 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_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, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' +( + 'WaveImpactAsphaltCoverWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 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_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, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 TABLE 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' +( + 'GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'GrassCoverErosionOutwardsHydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 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_GrassCoverErosionOutwardsHydraulicLocationEntity' FOREIGN KEY ('GrassCoverErosionOutwardsHydraulicLocationEntityId') REFERENCES 'GrassCoverErosionOutwardsHydraulicLocationEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsHydraulicLocationEntity' +( + 'GrassCoverErosionOutwardsHydraulicLocationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'LocationId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'LocationX' REAL, + 'LocationY' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_GrassCoverErosionOutwardsHydraulicLocationEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' +( + 'GrassCoverErosionOutwardsWaveConditionsOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'WaterLevel' REAL, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'HeightStructuresOutputEntity' +( + 'HeightStructuresOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HeightStructuresCalculationEntityId' INTEGER NOT NULL, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + CONSTRAINT 'FK_HeightStructuresOutputEntity_HeightStructuresCalculationEntity' FOREIGN KEY ('HeightStructuresCalculationEntityId') REFERENCES 'HeightStructuresCalculationEntity' ('HeightStructuresCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_HeightStructuresCalculationEntity' UNIQUE ('HeightStructuresCalculationEntityId') +) +; + +CREATE TABLE 'HeightStructureEntity' +( + 'HeightStructureEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Id' VARCHAR (260), + 'X' REAL, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'FailureProbabilityStructureWithErosion' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + CONSTRAINT 'FK_HeightStructure_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'HeightStructuresCalculationEntity' +( + 'HeightStructuresCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'HydraulicLocationEntityId' INTEGER, + 'HeightStructureEntityId' INTEGER, + 'ForeshoreProfileEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'StructureNormalOrientation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FailureProbabilityStructureWithErosion' REAL NOT NULL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'StormDurationMean' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'DeviationWaveDirection' REAL, + '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, + 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 'ClosingStructureEntity' +( + 'ClosingStructureEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Id' VARCHAR (260), + 'X' REAL, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'LevelCrestStructureNotClosingMean' REAL, + 'LevelCrestStructureNotClosingStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ProbabilityOrFrequencyOpenStructureBeforeFlooding' REAL, + 'FailureProbabilityOpenStructure' REAL, + 'IdenticalApertures' INT (4) NOT NULL, + 'FailureProbabilityReparation' REAL, + '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 +) +; + +CREATE TABLE 'ClosingStructuresCalculationEntity' +( + 'ClosingStructuresCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'ClosingStructureEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (255), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'LevelCrestStructureNotClosingMean' REAL, + 'LevelCrestStructureNotClosingStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ProbabilityOrFrequencyOpenStructureBeforeFlooding' 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, + 'DrainCoefficientMean' REAL, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'StormDurationMean' REAL, + 'FactorStormDurationOpenStructure' REAL, + 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, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + CONSTRAINT 'FK_ClosingStructuresOutputEntity_ClosingStructuresCalculationEntity' FOREIGN KEY ('ClosingStructuresCalculationEntityId') REFERENCES 'ClosingStructuresCalculationEntity' ('ClosingStructuresCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_ClosingStructuresCalculationEntity' UNIQUE ('ClosingStructuresCalculationEntityId') +) +; + +CREATE TABLE 'StabilityPointStructureEntity' +( + 'StabilityPointStructureEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Id' VARCHAR (260), + 'X' REAL, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ConstructiveStrengthLinearLoadModelMean' REAL, + 'ConstructiveStrengthLinearLoadModelCoefficientOfVariation' REAL, + 'ConstructiveStrengthQuadraticLoadModelMean' REAL, + 'ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation' REAL, + 'BankWidthMean' REAL, + 'BankWidthStandardDeviation' REAL, + 'InsideWaterLevelFailureConstructionMean' REAL, + 'InsideWaterLevelFailureConstructionStandardDeviation' REAL, + 'EvaluationLevel' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'VerticalDistance' REAL, + 'FailureProbabilityRepairClosure' REAL, + 'FailureCollisionEnergyMean' REAL, + 'FailureCollisionEnergyCoefficientOfVariation' REAL, + 'ShipMassMean' REAL, + 'ShipMassCoefficientOfVariation' REAL, + 'ShipVelocityMean' REAL, + 'ShipVelocityCoefficientOfVariation' REAL, + 'LevellingCount' INT (4) NOT NULL, + 'ProbabilityCollisionSecondaryStructure' REAL, + 'FlowVelocityStructureClosableMean' REAL, + 'StabilityLinearLoadModelMean' REAL, + 'StabilityLinearLoadModelCoefficientOfVariation' REAL, + 'StabilityQuadraticLoadModelMean' REAL, + 'StabilityQuadraticLoadModelCoefficientOfVariation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + '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 +) +; + +CREATE TABLE 'StabilityPointStructuresOutputEntity' +( + 'StabilityPointStructuresOutputEntity' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'StabilityPointStructuresCalculationEntityId' INTEGER NOT NULL, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + CONSTRAINT 'FK_StabilityPointStructuresOutputEntity_StabilityPointStructuresCalculationEntity' FOREIGN KEY ('StabilityPointStructuresCalculationEntityId') REFERENCES 'StabilityPointStructuresCalculationEntity' ('StabilityPointStructuresCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_StabilityPointStructuresCalculationEntity' UNIQUE ('StabilityPointStructuresCalculationEntityId') +) +; + +CREATE TABLE 'HydraulicLocationOutputEntity' +( + 'HydraulicLocationEntityOutputId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HydraulicLocationEntityId' INTEGER NOT NULL, + 'HydraulicLocationOutputType' TINYINT (1) NOT NULL, -- Enum: 1 = DesignWaterLevel, 2 = WaveHeight + 'Result' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + 'CalculationConvergence' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculatedNotConverged, 3 = CalculatedConverged + CONSTRAINT 'FK_HydraulicLocationOutputEntity_HydraulicLocationEntity' FOREIGN KEY ('HydraulicLocationEntityId') REFERENCES 'HydraulicLocationEntity' ('HydraulicLocationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_HydraulicLocationEntityOutputType' UNIQUE ('HydraulicLocationEntityId','HydraulicLocationOutputType') +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' +( + 'GrassCoverErosionOutwardsHydraulicLocationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionOutwardsHydraulicLocationEntityId' INTEGER NOT NULL, + 'HydraulicLocationOutputType' TINYINT (1) NOT NULL, -- Enum: 1 = DesignWaterLevel, 2 = WaveHeight + 'Result' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + 'CalculationConvergence' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculatedNotConverged, 3 = CalculatedConverged + CONSTRAINT 'FK_GrassCoverErosionOutwardsHydraulicLocationOutputEntity_GrassCoverErosionOutwardsHydraulicLocationEntity' FOREIGN KEY ('GrassCoverErosionOutwardsHydraulicLocationEntityId') REFERENCES 'GrassCoverErosionOutwardsHydraulicLocationEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_HydraulicLocationOutputType' UNIQUE ('GrassCoverErosionOutwardsHydraulicLocationEntityId','HydraulicLocationOutputType') +) +; + +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, + 'LocationY' REAL, + 'CoastalAreaId' INT (4) NOT NULL, + 'Offset' REAL, + 'Orientation' REAL, + 'D50' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_DuneLocationEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'DuneLocationOutputEntity' +( + 'DuneLocationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'DuneLocationEntityId' INTEGER NOT NULL, + 'WaterLevel' REAL, + 'WaveHeight' REAL, + 'WavePeriod' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + 'CalculationConvergence' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculatedNotConverged, 3 = CalculatedConverged + CONSTRAINT 'FK_DuneLocationOutputEntity_DuneLocationEntity' FOREIGN KEY ('DuneLocationEntityId') REFERENCES 'DuneLocationEntity' ('DuneLocationEntityId') 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 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' +( + 'GrassCoverErosionInwardsOvertoppingRateOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL, + 'OvertoppingRate' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + 'CalculationConvergence' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculationNotConverged, 3 = CalculationConverged + CONSTRAINT 'FK_GrassCoverErosionInwardsOvertoppingRateOutputEntity_GrassCoverErosionInwardsOutputEntity' FOREIGN KEY ('GrassCoverErosionInwardsOutputEntityId') REFERENCES 'GrassCoverErosionInwardsOutputEntity' ('GrassCoverErosionInwardsOutputEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_GrassCoverErosionInwardsOutputEntity' UNIQUE ('GrassCoverErosionInwardsOutputEntityId') +) +; + +/* Create Indexes and Triggers */ + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsDikeHeightOutputEntity_GrassCoverErosionInwardsOutputEntity' + ON 'GrassCoverErosionInwardsDikeHeightOutputEntity' ('GrassCoverErosionInwardsOutputEntityId' 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_AssessmentSectionEntity_ProjectEntity' + ON 'AssessmentSectionEntity' ('ProjectEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismEntity_AssessmentSectionEntity' + ON 'FailureMechanismEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismEntity_CalculationGroupEntity' + ON 'FailureMechanismEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismSectionEntity_FailureMechanismEntity' + ON 'FailureMechanismSectionEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'PipingFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'StabilityPointStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'ClosingStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'DuneErosionFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_CalculationGroupEntity_CalculationGroupEntity' + ON 'CalculationGroupEntity' ('ParentCalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'HeightStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_HydraulicLocationEntity_AssessmentSectionEntity' + ON 'HydraulicLocationEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_StochasticSoilProfileEntity' + ON 'PipingCalculationEntity' ('StochasticSoilProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_SurfaceLineEntity' + ON 'PipingCalculationEntity' ('SurfaceLineEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_HydraulicLocationEntity' + ON 'PipingCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_CalculationGroupEntity' + ON 'PipingCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'GrassCoverErosionInwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_CalculationGroupEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_DikeProfileEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('DikeProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_HydraulicLocationEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StochasticSoilProfileEntity_SoilProfileEntity' + ON 'StochasticSoilProfileEntity' ('SoilProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_StochasticSoilProfileEntity_StochasticSoilModelEntity' + ON 'StochasticSoilProfileEntity' ('StochasticSoilModelEntityId' 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 'CharacteristicPointEntity' ('SurfaceLineEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationOutputEntity_PipingCalculationEntity' + ON 'PipingCalculationOutputEntity' ('PipingCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingSemiProbabilisticOutputEntity_PipingCalculationEntity' + ON 'PipingSemiProbabilisticOutputEntity' ('PipingCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingSectionResultEntity_FailureMechanismSectionEntity' + ON 'PipingSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverErosionInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsSectionResultEntity_GrassCoverErosionInwardsCalculationEntity' + ON 'GrassCoverErosionInwardsSectionResultEntity' ('GrassCoverErosionInwardsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'HeightStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresSectionResultEntity_HeightStructuresCalculationEntity' + ON 'HeightStructuresSectionResultEntity' ('HeightStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_StrengthStabilityLengthwiseConstructionSectionResultEntity_FailureMechanismSectionEntity' + ON 'StrengthStabilityLengthwiseConstructionSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_TechnicalInnovationSectionResultEntity_FailureMechanismSectionEntity' + ON 'TechnicalInnovationSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaterPressureAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'WaterPressureAsphaltCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresSectionResultEntity_ClosingStructuresCalculationEntity' + ON 'ClosingStructuresSectionResultEntity' ('ClosingStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'ClosingStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverErosionOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverSlipOffInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverSlipOffInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverSlipOffOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverSlipOffOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MacrostabilityInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'MacrostabilityInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MacrostabilityOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'MacrostabilityOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'WaveImpactAsphaltCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MicrostabilitySectionResultEntity_FailureMechanismSectionEntity' + ON 'MicrostabilitySectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingStructureSectionResultEntity_FailureMechanismSectionEntity' + ON 'PipingStructureSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionSectionResultEntity_FailureMechanismSectionEntity' + ON 'DuneErosionSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'StabilityStoneCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityPointStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'StabilityPointStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityPointStructuresSectionResultEntity_StabilityPointStructuresCalculationEntity' + ON 'StabilityPointStructuresSectionResultEntity' ('StabilityPointStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_DikeProfileEntity_FailureMechanismEntity' + ON 'DikeProfileEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsOutputEntity_GrassCoverErosionInwardsCalculationEntity' + ON 'GrassCoverErosionInwardsOutputEntity' ('GrassCoverErosionInwardsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_ForeshoreProfileEntity_FailureMechanismEntity' + ON 'ForeshoreProfileEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsOutputEntity_StabilityStoneCoverWaveConditionsCalculationEntity' + ON 'StabilityStoneCoverWaveConditionsOutputEntity' ('StabilityStoneCoverWaveConditionsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsOutputEntity_WaveImpactAsphaltCoverWaveConditionsCalculationEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsOutputEntity' ('WaveImpactAsphaltCoverWaveConditionsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_GrassCoverErosionOutwardsHydraulicLocationEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsHydraulicLocationEntity_FailureMechanismEntity' + ON 'GrassCoverErosionOutwardsHydraulicLocationEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsOutputEntity_GrassCoverErosionOutwardsWaveConditionsCalculationEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' ('GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresOutputEntity_HeightStructuresCalculationEntity' + ON 'HeightStructuresOutputEntity' ('HeightStructuresCalculationEntityId' 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_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 INDEX 'IXFK_StabilityPointStructureEntity_FailureMechanismEntity' + ON 'StabilityPointStructureEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityPointStructuresOutputEntity_StabilityPointStructuresCalculationEntity' + ON 'StabilityPointStructuresOutputEntity' ('StabilityPointStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_HydraulicLocationOutputEntity_HydraulicLocationEntity' + ON 'HydraulicLocationOutputEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsHydraulicLocationOutputEntity_GrassCoverErosionOutwardsHydraulicLocationEntity' + ON 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneLocationEntity_FailureMechanismEntity' + ON 'DuneLocationEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneLocationOutputEntity_DuneLocationEntity' + ON 'DuneLocationOutputEntity' ('DuneLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_BackgroundDataEntity_AssessmentSectionEntity' + ON 'BackgroundDataEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_BackgroundDataMetaEntity_BackgroundDataEntity' + ON 'BackgroundDataMetaEntity' ('BackgroundDataEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsOvertoppingRateOutputEntity_GrassCoverErosionInwardsOutputEntity' + ON 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' ('GrassCoverErosionInwardsOutputEntityId' ASC) +; Index: Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure17.2.sql =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure17.2.sql (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure17.2.sql (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,2615 @@ +/* ---------------------------------------------------- */ +/* Generated by Enterprise Architect Version 12.0 */ +/* Created On : 16-Nov-2017 12:03:12 */ +/* DBMS : SQLite */ +/* ---------------------------------------------------- */ + +/* Drop Tables */ + +DROP TABLE IF EXISTS 'VersionEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsDikeHeightOutputEntity' +; + +DROP TABLE IF EXISTS 'ProjectEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'AssessmentSectionEntity' +; + +DROP TABLE IF EXISTS 'FailureMechanismSectionEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'FailureMechanismEntity' +; + +DROP TABLE IF EXISTS 'PipingFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'CalculationGroupEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationEntity' +; + +DROP TABLE IF EXISTS 'PipingCalculationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'DuneErosionFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsCalculationEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingSoilLayerEntity' +; + +DROP TABLE IF EXISTS 'PipingSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'PipingStochasticSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'StochasticSoilModelEntity' +; + +DROP TABLE IF EXISTS 'SurfaceLineEntity' +; + +DROP TABLE IF EXISTS 'PipingCharacteristicPointEntity' +; + +DROP TABLE IF EXISTS 'PipingCalculationOutputEntity' +; + +DROP TABLE IF EXISTS 'PipingSemiProbabilisticOutputEntity' +; + +DROP TABLE IF EXISTS 'PipingSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StrengthStabilityLengthwiseConstructionSectionResultEntity' +; + +DROP TABLE IF EXISTS 'TechnicalInnovationSectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaterPressureAsphaltCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverSlipOffInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverSlipOffOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MacrostabilityOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MicrostabilitySectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingStructureSectionResultEntity' +; + +DROP TABLE IF EXISTS 'DuneErosionSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'DikeProfileEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsOutputEntity' +; + +DROP TABLE IF EXISTS 'ForeshoreProfileEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsHydraulicLocationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'HeightStructureEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructureEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructureEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationOutputEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationOutputEntity' +; + +DROP TABLE IF EXISTS 'BackgroundDataEntity' +; + +DROP TABLE IF EXISTS 'BackgroundDataMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultSubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'SubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'IllustrationPointResultEntity' +; + +DROP TABLE IF EXISTS 'StochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultSubMechanismIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultFaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultFaultTreeIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'TopLevelSubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'TopLevelFaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'SubMechanismIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeSubmechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCalculationEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCalculationOutputEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCharacteristicPointEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilLayerOneDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileOneDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilLayerTwoDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileTwoDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsStochasticSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsPreconsolidationStressEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSemiProbabilisticOutputEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity' +; + +/* 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 'GrassCoverErosionInwardsDikeHeightOutputEntity' +( + 'GrassCoverErosionInwardsDikeHeightOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'DikeHeight' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'ProjectEntity' +( + 'ProjectEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Description' VARCHAR (260) +) +; + +CREATE TABLE 'MacroStabilityInwardsFailureMechanismMetaEntity' +( + 'MacroStabilityInwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'A' REAL NOT NULL, + 'StochasticSoilModelCollectionSourcePath' TEXT, + 'SurfaceLineCollectionSourcePath' TEXT, + CONSTRAINT 'FK_MacroStabilityInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'AssessmentSectionEntity' +( + 'AssessmentSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ProjectEntityId' INTEGER NOT NULL, + 'Id' TEXT, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'LowerLimitNorm' REAL NOT NULL, + 'SignalingNorm' REAL NOT NULL, + 'NormativeNormType' TINYINT (1) NOT NULL, -- EnumType: 1 = LowerLimit, 2 = Signaling + 'HydraulicDatabaseVersion' TEXT, + 'HydraulicDatabaseLocation' TEXT, + 'Composition' TINYINT (1) NOT NULL, -- Enum: 1 = Dike, 2 = Dune, 3 = DikeAndDune + 'ReferenceLinePointXml' TEXT, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_AssessmentSectionEntity_ProjectEntity' FOREIGN KEY ('ProjectEntityId') REFERENCES 'ProjectEntity' ('ProjectEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'FailureMechanismSectionEntity' +( + 'FailureMechanismSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'FailureMechanismSectionPointXml' TEXT NOT NULL, + CONSTRAINT 'FK_FailureMechanismSectionEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresCalculationEntity' +( + 'StabilityPointStructuresCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'StabilityPointStructureEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ConstructiveStrengthLinearLoadModelMean' REAL, + 'ConstructiveStrengthLinearLoadModelCoefficientOfVariation' REAL, + 'ConstructiveStrengthQuadraticLoadModelMean' REAL, + 'ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation' REAL, + 'BankWidthMean' REAL, + 'BankWidthStandardDeviation' REAL, + 'InsideWaterLevelFailureConstructionMean' REAL, + 'InsideWaterLevelFailureConstructionStandardDeviation' REAL, + 'EvaluationLevel' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'VerticalDistance' REAL, + 'FailureProbabilityRepairClosure' REAL NOT NULL, + 'FailureCollisionEnergyMean' REAL, + 'FailureCollisionEnergyCoefficientOfVariation' REAL, + 'ShipMassMean' REAL, + 'ShipMassCoefficientOfVariation' REAL, + 'ShipVelocityMean' REAL, + 'ShipVelocityCoefficientOfVariation' REAL, + 'LevellingCount' INT (4) NOT NULL, + 'ProbabilityCollisionSecondaryStructure' REAL NOT NULL, + 'FlowVelocityStructureClosableMean' REAL, + 'StabilityLinearLoadModelMean' REAL, + 'StabilityLinearLoadModelCoefficientOfVariation' REAL, + 'StabilityQuadraticLoadModelMean' REAL, + 'StabilityQuadraticLoadModelCoefficientOfVariation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'InflowModelType' TINYINT (1) NOT NULL, -- Enum: 1 = VerticalWall, 2 = LowSill, 3 = FloodedCulvert + 'LoadSchematizationType' TINYINT (1) NOT NULL, -- Enum: 1 = Linear, 2 = Quadratic + 'VolumicWeightWater' REAL, + 'StormDurationMean' REAL, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'FactorStormDurationOpenStructure' REAL, + 'DrainCoefficientMean' REAL, + 'FailureProbabilityStructureWithErosion' REAL NOT NULL, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 'FailureMechanismEntity' +( + 'FailureMechanismEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'AssessmentSectionEntityId' INTEGER NOT NULL, + 'CalculationGroupEntityId' INTEGER, + '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 = Macrostabiliteit buitenwaarts, 14 = Microstabiliteit, 15 = Wateroverdruk bij asfaltbekleding, 16 = Grasbekleding afschuiven binnentalud, 17 = Sterkte en stabiliteit langsconstructires, 18 = Technische innovaties + 'IsRelevant' TINYINT (1) NOT NULL, -- true or false + 'InputComments' TEXT, + 'OutputComments' TEXT, + 'NotRelevantComments' TEXT, + 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 'PipingFailureMechanismMetaEntity' +( + 'PipingFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'A' REAL NOT NULL, + 'WaterVolumetricWeight' REAL NOT NULL, + 'StochasticSoilModelCollectionSourcePath' TEXT, + 'SurfaceLineCollectionSourcePath' TEXT, + CONSTRAINT 'FK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'ClosingStructuresFailureMechanismMetaEntity' +( + 'ClosingStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N2A' INT (4) NOT NULL, + 'ClosingStructureCollectionSourcePath' TEXT, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityStoneCoverFailureMechanismMetaEntity' +( + 'StabilityStoneCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_StabilityStoneCoverFailureMechanismMetaEntity_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, + 'Name' VARCHAR (260), + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_CalculationGroupEntity_CalculationGroupEntity' FOREIGN KEY ('ParentCalculationGroupEntityId') REFERENCES 'CalculationGroupEntity' ('CalculationGroupEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresFailureMechanismMetaEntity' +( + 'StabilityPointStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' INT (4) NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + 'StabilityPointStructureCollectionSourcePath' TEXT, + CONSTRAINT 'FK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'HydraulicLocationEntity' +( + 'HydraulicLocationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'AssessmentSectionEntityId' INTEGER NOT NULL, + 'LocationId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'LocationX' REAL, + 'LocationY' REAL, + 'ShouldWaveHeightIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldDesignWaterLevelIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_HydraulicLocationEntity_AssessmentSectionEntity' FOREIGN KEY ('AssessmentSectionEntityId') REFERENCES 'AssessmentSectionEntity' ('AssessmentSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingCalculationEntity' +( + 'PipingCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'SurfaceLineEntityId' INTEGER, + 'PipingStochasticSoilProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'EntryPointL' REAL, + 'ExitPointL' REAL, + 'PhreaticLevelExitMean' REAL, + 'PhreaticLevelExitStandardDeviation' REAL, + 'DampingFactorExitMean' REAL, + 'DampingFactorExitStandardDeviation' REAL, + 'RelevantForScenario' TINYINT (1) NOT NULL, -- true or false + 'ScenarioContribution' REAL, + 'AssessmentLevel' REAL, + 'UseAssessmentLevelManualInput' TINYINT (1) NOT NULL, -- true or false + CONSTRAINT 'FK_PipingCalculationEntity_CalculationGroupEntity' FOREIGN KEY ('CalculationGroupEntityId') REFERENCES 'CalculationGroupEntity' ('CalculationGroupEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_HydraulicLocationEntity' FOREIGN KEY ('HydraulicLocationEntityId') REFERENCES 'HydraulicLocationEntity' ('HydraulicLocationEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_PipingStochasticSoilProfileEntity' FOREIGN KEY ('PipingStochasticSoilProfileEntityId') REFERENCES 'PipingStochasticSoilProfileEntity' ('PipingStochasticSoilProfileEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsFailureMechanismMetaEntity' +( + 'GrassCoverErosionInwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' INT (4) NOT NULL, + 'DikeProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +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 'GrassCoverErosionInwardsCalculationEntity' +( + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'HydraulicLocationEntityId' INTEGER, + 'DikeProfileEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'Orientation' REAL, + 'CriticalFlowRateMean' REAL, + 'CriticalFlowRateStandardDeviation' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'DikeHeightCalculationType' TINYINT (1) NOT NULL, -- Enum: 1 = NoCalculation, 2 = CalculateByAssessmentSectionNorm, 3 = CalculateByProfileSpecificRequiredProbability + 'DikeHeight' REAL, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'OvertoppingRateCalculationType' TINYINT (1) NOT NULL, -- Enum: 1 = NoCalculation, 2 = CalculateByAssessmentSectionNorm, 3 = CalculateByProfileSpecificRequiredProbability + 'ShouldDikeHeightIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldOvertoppingRateIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldOvertoppingOutputIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 'HeightStructuresFailureMechanismMetaEntity' +( + 'HeightStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' INT (4) NOT NULL, + 'HeightStructureCollectionSourcePath' TEXT, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_HeightStructuresFailureMechanismMetaEntity_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' INT (4) NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + 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, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- ARGB value of Color. + 'MaterialName' TEXT NOT NULL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelDeviation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'DiameterD70Mean' REAL, + 'DiameterD70CoefficientOfVariation' REAL, + 'PermeabilityMean' REAL, + 'PermeabilityCoefficientOfVariation' REAL, + '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, + '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 '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, + 'ReferenceLineIntersectionY' REAL, + '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, + 'Y' REAL, + 'Z' REAL, + CONSTRAINT 'FK_SurfaceLinePointEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingCalculationOutputEntity' +( + 'PipingCalculationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'PipingCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'HeaveFactorOfSafety' REAL, + 'HeaveZValue' REAL, + 'UpliftFactorOfSafety' REAL, + 'UpliftZValue' REAL, + 'SellmeijerFactorOfSafety' REAL, + 'SellmeijerZValue' REAL, + 'UpliftEffectiveStress' REAL, + 'HeaveGradient' REAL, + 'SellmeijerCreepCoefficient' REAL, + 'SellmeijerCriticalFall' REAL, + 'SellmeijerReducedFall' REAL, + CONSTRAINT 'FK_PipingCalculationOutputEntity_PipingCalculationEntity' FOREIGN KEY ('PipingCalculationEntityId') REFERENCES 'PipingCalculationEntity' ('PipingCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_PipingCalculationEntity' UNIQUE ('PipingCalculationEntityId') +) +; + +CREATE TABLE 'PipingSemiProbabilisticOutputEntity' +( + 'PipingSemiProbabilisticOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'PipingCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'UpliftFactorOfSafety' REAL, + 'UpliftReliability' REAL, + 'UpliftProbability' REAL, + 'HeaveFactorOfSafety' REAL, + 'HeaveReliability' REAL, + 'HeaveProbability' REAL, + 'SellmeijerFactorOfSafety' REAL, + 'SellmeijerReliability' REAL, + 'SellmeijerProbability' REAL, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'PipingProbability' REAL, + 'PipingReliability' REAL, + 'PipingFactorOfSafety' REAL, + CONSTRAINT 'FK_PipingSemiProbabilisticOutputEntity_PipingCalculationEntity' FOREIGN KEY ('PipingCalculationEntityId') REFERENCES 'PipingCalculationEntity' ('PipingCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_PipingCalculationEntity' UNIQUE ('PipingCalculationEntityId') +) +; + +CREATE TABLE 'PipingSectionResultEntity' +( + 'PipingSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_PipingSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsSectionResultEntity' +( + 'GrassCoverErosionInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverErosionInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionInwardsSectionResultEntity_GrassCoverErosionInwardsCalculationEntity' FOREIGN KEY ('GrassCoverErosionInwardsCalculationEntityId') REFERENCES 'GrassCoverErosionInwardsCalculationEntity' ('GrassCoverErosionInwardsCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'HeightStructuresSectionResultEntity' +( + 'HeightStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'HeightStructuresCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_HeightStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_HeightStructuresSectionResultEntity_HeightStructuresCalculationEntity' FOREIGN KEY ('HeightStructuresCalculationEntityId') REFERENCES 'HeightStructuresCalculationEntity' ('HeightStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'StrengthStabilityLengthwiseConstructionSectionResultEntity' +( + 'StrengthStabilityLengthwiseConstructionSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_StrengthStabilityLengthwiseConstructionSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'TechnicalInnovationSectionResultEntity' +( + 'TechnicalInnovationSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_TechnicalInnovationSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaterPressureAsphaltCoverSectionResultEntity' +( + 'WaterPressureAsphaltCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_WaterPressureAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'ClosingStructuresSectionResultEntity' +( + 'ClosingStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'ClosingStructuresCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_ClosingStructuresSectionResultEntity_ClosingStructuresCalculationEntity' FOREIGN KEY ('ClosingStructuresCalculationEntityId') REFERENCES 'ClosingStructuresCalculationEntity' ('ClosingStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_ClosingStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsSectionResultEntity' +( + 'GrassCoverErosionOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverErosionOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverSlipOffInwardsSectionResultEntity' +( + 'GrassCoverSlipOffInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverSlipOffInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverSlipOffOutwardsSectionResultEntity' +( + 'GrassCoverSlipOffOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverSlipOffOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSectionResultEntity' +( + 'MacroStabilityInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_MacroStabilityInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacrostabilityOutwardsSectionResultEntity' +( + 'MacrostabilityOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' REAL, + 'LayerThree' REAL, + CONSTRAINT 'FK_MacrostabilityOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaveImpactAsphaltCoverSectionResultEntity' +( + 'WaveImpactAsphaltCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_WaveImpactAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MicrostabilitySectionResultEntity' +( + 'MicrostabilitySectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_MicrostabilitySectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' +( + 'WaveImpactAsphaltCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingStructureSectionResultEntity' +( + 'PipingStructureSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_PipingStructureSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'DuneErosionSectionResultEntity' +( + 'DuneErosionSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_DuneErosionSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityStoneCoverSectionResultEntity' +( + 'StabilityStoneCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_StabilityStoneCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresSectionResultEntity' +( + 'StabilityPointStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'StabilityPointStructuresCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_StabilityPointStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_StabilityPointStructuresSectionResultEntity_StabilityPointStructuresCalculationEntity' FOREIGN KEY ('StabilityPointStructuresCalculationEntityId') REFERENCES 'StabilityPointStructuresCalculationEntity' ('StabilityPointStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +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, + 'BreakWaterType' TINYINT (1), -- Enum: 1 = Wall 2 = Caisson 3 = Dam + 'BreakWaterHeight' REAL, + 'ForeshoreXml' TEXT NOT NULL, + 'DikeGeometryXml' TEXT NOT NULL, + 'DikeHeight' REAL, + 'X' REAL, + 'Y' REAL, + 'X0' REAL, + '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 'GrassCoverErosionInwardsOutputEntity' +( + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'IsOvertoppingDominant' TINYINT (1) NOT NULL, -- true or false + 'WaveHeight' REAL, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + 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 'ForeshoreProfileEntity' +( + 'ForeshoreProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Id' VARCHAR (260) NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'Orientation' REAL, + 'BreakWaterType' TINYINT (1), -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'GeometryXml' TEXT NOT NULL, + 'X' REAL, + 'Y' REAL, + 'X0' REAL, + '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 'StabilityStoneCoverWaveConditionsCalculationEntity' +( + 'StabilityStoneCoverWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 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_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, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' +( + 'WaveImpactAsphaltCoverWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 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_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, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 TABLE 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' +( + 'GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'GrassCoverErosionOutwardsHydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 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_GrassCoverErosionOutwardsHydraulicLocationEntity' FOREIGN KEY ('GrassCoverErosionOutwardsHydraulicLocationEntityId') REFERENCES 'GrassCoverErosionOutwardsHydraulicLocationEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsHydraulicLocationEntity' +( + 'GrassCoverErosionOutwardsHydraulicLocationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'LocationId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'LocationX' REAL, + 'LocationY' REAL, + 'ShouldWaveHeightIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldDesignWaterLevelIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_GrassCoverErosionOutwardsHydraulicLocationEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' +( + 'GrassCoverErosionOutwardsWaveConditionsOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'WaterLevel' REAL, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'HeightStructuresOutputEntity' +( + 'HeightStructuresOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HeightStructuresCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'FailureProbabilityStructureWithErosion' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 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, + 'HeightStructureEntityId' INTEGER, + 'ForeshoreProfileEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'StructureNormalOrientation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FailureProbabilityStructureWithErosion' REAL NOT NULL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'StormDurationMean' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'DeviationWaveDirection' REAL, + '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, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'LevelCrestStructureNotClosingMean' REAL, + 'LevelCrestStructureNotClosingStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ProbabilityOrFrequencyOpenStructureBeforeFlooding' REAL, + 'FailureProbabilityOpenStructure' REAL, + 'IdenticalApertures' INT (4) NOT NULL, + 'FailureProbabilityReparation' REAL, + '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, + 'HydraulicLocationEntityId' INTEGER, + 'ClosingStructureEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (255), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'LevelCrestStructureNotClosingMean' REAL, + 'LevelCrestStructureNotClosingStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ProbabilityOrFrequencyOpenStructureBeforeFlooding' 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, + 'DrainCoefficientMean' REAL, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'StormDurationMean' REAL, + 'FactorStormDurationOpenStructure' REAL, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ConstructiveStrengthLinearLoadModelMean' REAL, + 'ConstructiveStrengthLinearLoadModelCoefficientOfVariation' REAL, + 'ConstructiveStrengthQuadraticLoadModelMean' REAL, + 'ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation' REAL, + 'BankWidthMean' REAL, + 'BankWidthStandardDeviation' REAL, + 'InsideWaterLevelFailureConstructionMean' REAL, + 'InsideWaterLevelFailureConstructionStandardDeviation' REAL, + 'EvaluationLevel' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'VerticalDistance' REAL, + 'FailureProbabilityRepairClosure' REAL, + 'FailureCollisionEnergyMean' REAL, + 'FailureCollisionEnergyCoefficientOfVariation' REAL, + 'ShipMassMean' REAL, + 'ShipMassCoefficientOfVariation' REAL, + 'ShipVelocityMean' REAL, + 'ShipVelocityCoefficientOfVariation' REAL, + 'LevellingCount' INT (4) NOT NULL, + 'ProbabilityCollisionSecondaryStructure' REAL, + 'FlowVelocityStructureClosableMean' REAL, + 'StabilityLinearLoadModelMean' REAL, + 'StabilityLinearLoadModelCoefficientOfVariation' REAL, + 'StabilityQuadraticLoadModelMean' REAL, + 'StabilityQuadraticLoadModelCoefficientOfVariation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + '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 'StabilityPointStructuresOutputEntity' +( + 'StabilityPointStructuresOutputEntity' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'StabilityPointStructuresCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + 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 'HydraulicLocationOutputEntity' +( + 'HydraulicLocationEntityOutputId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HydraulicLocationEntityId' INTEGER NOT NULL, + 'GeneralResultSubMechanismIllustrationPointEntityId' INTEGER, + 'HydraulicLocationOutputType' TINYINT (1) NOT NULL, -- Enum: 1 = DesignWaterLevel, 2 = WaveHeight + 'Result' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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_HydraulicLocationEntity' FOREIGN KEY ('HydraulicLocationEntityId') REFERENCES 'HydraulicLocationEntity' ('HydraulicLocationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_HydraulicLocationEntityOutputType' UNIQUE ('HydraulicLocationEntityId','HydraulicLocationOutputType') +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' +( + 'GrassCoverErosionOutwardsHydraulicLocationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionOutwardsHydraulicLocationEntityId' INTEGER NOT NULL, + 'GeneralResultSubMechanismIllustrationPointEntityId' INTEGER, + 'HydraulicLocationOutputType' TINYINT (1) NOT NULL, -- Enum: 1 = DesignWaterLevel, 2 = WaveHeight + 'Result' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + 'CalculationConvergence' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculatedNotConverged, 3 = CalculatedConverged + CONSTRAINT 'FK_GrassCoverErosionOutwardsHydraulicLocationOutputEntity_GeneralResultSubMechanismIllustrationPointEntity' FOREIGN KEY ('GeneralResultSubMechanismIllustrationPointEntityId') REFERENCES 'GeneralResultSubMechanismIllustrationPointEntity' ('GeneralResultSubMechanismIllustrationPointEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsHydraulicLocationOutputEntity_GrassCoverErosionOutwardsHydraulicLocationEntity' FOREIGN KEY ('GrassCoverErosionOutwardsHydraulicLocationEntityId') REFERENCES 'GrassCoverErosionOutwardsHydraulicLocationEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_HydraulicLocationOutputType' UNIQUE ('GrassCoverErosionOutwardsHydraulicLocationEntityId','HydraulicLocationOutputType') +) +; + +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, + 'LocationY' REAL, + 'CoastalAreaId' INT (4) NOT NULL, + 'Offset' REAL, + 'Orientation' REAL, + 'D50' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_DuneLocationEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'DuneLocationOutputEntity' +( + 'DuneLocationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'DuneLocationEntityId' INTEGER NOT NULL, + 'WaterLevel' REAL, + 'WaveHeight' REAL, + 'WavePeriod' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + 'CalculationConvergence' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculatedNotConverged, 3 = CalculatedConverged + CONSTRAINT 'FK_DuneLocationOutputEntity_DuneLocationEntity' FOREIGN KEY ('DuneLocationEntityId') REFERENCES 'DuneLocationEntity' ('DuneLocationEntityId') 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 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' +( + 'GrassCoverErosionInwardsOvertoppingRateOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'OvertoppingRate' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'GeneralResultSubMechanismIllustrationPointEntity' +( + 'GeneralResultSubMechanismIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GoverningWindDirectionName' TEXT NOT NULL, + 'GoverningWindDirectionAngle' REAL 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 'IllustrationPointResultEntity' +( + 'IllustrationPointResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'SubMechanismIllustrationPointEntityId' INTEGER NOT NULL, + 'Description' 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 '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 '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 'GeneralResultFaultTreeIllustrationPointEntity' +( + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GoverningWindDirectionName' TEXT NOT NULL, + 'GoverningWindDirectionAngle' REAL NOT NULL +) +; + +CREATE TABLE 'FaultTreeIllustrationPointEntity' +( + 'FaultTreeIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ParentFaultTreeIllustrationPointEntityId' INTEGER, + '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 '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 '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 '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 'SubMechanismIllustrationPointStochastEntity' +( + 'SubMechanismIllustrationPointStochastEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'SubMechanismIllustrationPointEntityId' INTEGER NOT NULL, + 'Name' 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 '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 'MacroStabilityInwardsCalculationEntity' +( + 'MacroStabilityInwardsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'SurfaceLineEntityId' INTEGER, + 'MacroStabilityInwardsStochasticSoilProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comment' TEXT, + 'RelevantForScenario' TINYINT (1) NOT NULL, -- true or false + 'ScenarioContribution' REAL, + 'AssessmentLevel' REAL, + 'UseAssessmentLevelManualInput' TINYINT (1) NOT NULL, -- true or false + 'SlipPlaneMinimumDepth' REAL, + 'SlipPlaneMinimumLength' REAL, + 'MaximumSliceWidth' REAL, + '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, + 'TangentLineZBottom' REAL, + 'TangentLineNumber' INT (4) NOT NULL, + 'LeftGridXLeft' REAL, + 'LeftGridXRight' REAL, + 'LeftGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'LeftGridZTop' REAL, + 'LeftGridZBottom' REAL, + 'LeftGridNrOfVerticalPoints' INT (4) NOT NULL, + 'RightGridXLeft' REAL, + 'RightGridXRight' REAL, + 'RightGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'RightGridZTop' REAL, + 'RightGridZBottom' REAL, + 'RightGridNrOfVerticalPoints' INT (4) NOT NULL, + 'DikeSoilScenario' TINYINT (1) NOT NULL, -- Enumtype: 1 = ClayDikeOnClay, 2 = SandDikeOnClay, 3 = ClayDikeOnSand, 4 = SandDikeOnSand + 'WaterLevelRiverAverage' REAL, + 'DrainageConstructionPresent' TINYINT (1) NOT NULL, -- true or false + 'DrainageConstructionCoordinateX' REAL, + 'DrainageConstructionCoordinateZ' REAL, + 'MinimumLevelPhreaticLineAtDikeTopRiver' REAL, + 'MinimumLevelPhreaticLineAtDikeTopPolder' REAL, + 'AdjustPhreaticLine3And4ForUplift' TINYINT (1) NOT NULL, -- true or false + 'LeakageLengthOutwardsPhreaticLine3' REAL, + 'LeakageLengthInwardsPhreaticLine3' REAL, + 'LeakageLengthOutwardsPhreaticLine4' REAL, + 'LeakageLengthInwardsPhreaticLine4' REAL, + 'PiezometricHeadPhreaticLine2Outwards' REAL, + 'PiezometricHeadPhreaticLine2Inwards' REAL, + 'LocationInputExtremeWaterLevelPolder' REAL, + 'LocationInputExtremeUseDefaultOffsets' TINYINT (1) NOT NULL, -- true or false + 'LocationInputExtremePhreaticLineOffsetBelowDikeTopAtRiver' REAL, + 'LocationInputExtremePhreaticLineOffsetBelowDikeTopAtPolder' REAL, + 'LocationInputExtremePhreaticLineOffsetBelowShoulderBaseInside' REAL, + 'LocationInputExtremePhreaticLineOffsetDikeToeAtPolder' REAL, + 'LocationInputExtremePenetrationLength' REAL, + 'LocationInputDailyWaterLevelPolder' REAL, + 'LocationInputDailyUseDefaultOffsets' TINYINT (1) NOT NULL, -- true or false + 'LocationInputDailyPhreaticLineOffsetBelowDikeTopAtRiver' REAL, + 'LocationInputDailyPhreaticLineOffsetBelowDikeTopAtPolder' REAL, + 'LocationInputDailyPhreaticLineOffsetBelowShoulderBaseInside' REAL, + 'LocationInputDailyPhreaticLineOffsetDikeToeAtPolder' REAL, + 'CreateZones' TINYINT (1) NOT NULL, -- true or false + 'ZoningBoundariesDeterminationType' TINYINT (1) NOT NULL, -- Enumtype: 1 = Automatic, 2 = Manual + 'ZoneBoundaryLeft' REAL, + 'ZoneBoundaryRight' REAL, + 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, + 'ZValue' REAL, + 'ForbiddenZonesXEntryMin' REAL, + 'ForbiddenZonesXEntryMax' REAL, + 'SlidingCurveLeftSlidingCircleCenterX' REAL, + 'SlidingCurveLeftSlidingCircleCenterY' REAL, + 'SlidingCurveLeftSlidingCircleRadius' REAL, + 'SlidingCurveLeftSlidingCircleIsActive' TINYINT (1) NOT NULL, -- true or false + 'SlidingCurveLeftSlidingCircleNonIteratedForce' REAL, + 'SlidingCurveLeftSlidingCircleIteratedForce' REAL, + 'SlidingCurveLeftSlidingCircleDrivingMoment' REAL, + 'SlidingCurveLeftSlidingCircleResistingMoment' REAL, + 'SlidingCurveRightSlidingCircleCenterX' REAL, + 'SlidingCurveRightSlidingCircleCenterY' REAL, + 'SlidingCurveRightSlidingCircleRadius' REAL, + 'SlidingCurveRightSlidingCircleIsActive' TINYINT (1) NOT NULL, -- true or false + 'SlidingCurveRightSlidingCircleNonIteratedForce' REAL, + 'SlidingCurveRightSlidingCircleIteratedForce' REAL, + 'SlidingCurveRightSlidingCircleDrivingMoment' REAL, + 'SlidingCurveRightSlidingCircleResistingMoment' REAL, + 'SlidingCurveNonIteratedHorizontalForce' REAL, + 'SlidingCurveIteratedHorizontalForce' REAL, + 'SlidingCurveSliceXML' TEXT NOT NULL, -- XML representation of MacroStabilityInwardsSlice + 'SlipPlaneLeftGridXLeft' REAL, + 'SlipPlaneLeftGridXRight' REAL, + 'SlipPlaneLeftGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'SlipPlaneLeftGridZTop' REAL, + 'SlipPlaneLeftGridZBottom' REAL, + 'SlipPlaneLeftGridNrOfVerticalPoints' INT (4) NOT NULL, + 'SlipPlaneRightGridXLeft' REAL, + 'SlipPlaneRightGridXRight' REAL, + 'SlipPlaneRightGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'SlipPlaneRightGridZTop' REAL, + 'SlipPlaneRightGridZBottom' REAL, + '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, + 'Y' REAL, + 'Z' REAL, + CONSTRAINT 'FK_MacroStabilityInwardsCharacteristicPointEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilLayerOneDEntity' +( + 'MacroStabilityInwardsSoilLayerOneDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER NOT NULL, + 'Top' REAL, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- 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, + 'AbovePhreaticLevelCoefficientOfVariation' REAL, + 'AbovePhreaticLevelShift' REAL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelCoefficientOfVariation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'CohesionMean' REAL, + 'CohesionCoefficientOfVariation' REAL, + 'FrictionAngleMean' REAL, + 'FrictionAngleCoefficientOfVariation' REAL, + 'ShearStrengthRatioMean' REAL, + 'ShearStrengthRatioCoefficientOfVariation' REAL, + 'StrengthIncreaseExponentMean' REAL, + 'StrengthIncreaseExponentCoefficientOfVariation' REAL, + 'PopMean' REAL, + 'PopCoefficientOfVariation' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_MacroStabilityInwardsSoilLayerOneDEntity_MacroStabilityInwardsSoilProfileOneDEntity' FOREIGN KEY ('MacroStabilityInwardsSoilProfileOneDEntityId') REFERENCES 'MacroStabilityInwardsSoilProfileOneDEntity' ('MacroStabilityInwardsSoilProfileOneDEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilProfileOneDEntity' +( + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Name' TEXT NOT NULL, + 'Bottom' REAL +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilLayerTwoDEntity' +( + 'MacroStabilityInwardsSoilLayerTwoDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ParentMacroStabilityInwardsSoilLayerTwoDEntityId' INTEGER, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- 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, + 'AbovePhreaticLevelCoefficientOfVariation' REAL, + 'AbovePhreaticLevelShift' REAL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelCoefficientOfVariation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'CohesionMean' REAL, + 'CohesionCoefficientOfVariation' REAL, + 'FrictionAngleMean' REAL, + 'FrictionAngleCoefficientOfVariation' REAL, + 'ShearStrengthRatioMean' REAL, + 'ShearStrengthRatioCoefficientOfVariation' REAL, + 'StrengthIncreaseExponentMean' REAL, + 'StrengthIncreaseExponentCoefficientOfVariation' REAL, + 'PopMean' REAL, + 'PopCoefficientOfVariation' REAL, + '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 'MacroStabilityInwardsSoilProfileTwoDEntity' +( + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Name' TEXT NOT NULL +) +; + +CREATE TABLE 'MacroStabilityInwardsStochasticSoilProfileEntity' +( + 'MacroStabilityInwardsStochasticSoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'StochasticSoilModelEntityId' INTEGER NOT NULL, + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER, + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER, + '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 'MacroStabilityInwardsPreconsolidationStressEntity' +( + 'MacroStabilityInwardsPreconsolidationStressEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER NOT NULL, + 'CoordinateX' REAL NOT NULL, + 'CoordinateZ' REAL NOT NULL, + 'PreconsolidationStressMean' REAL, + 'PreconsolidationStressCoefficientOfVariation' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_MacroStabilityInwardsPreconsolidationStressEntity_MacroStabilityInwardsSoilProfileTwoDEntity' FOREIGN KEY ('MacroStabilityInwardsSoilProfileTwoDEntityId') REFERENCES 'MacroStabilityInwardsSoilProfileTwoDEntity' ('MacroStabilityInwardsSoilProfileTwoDEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSemiProbabilisticOutputEntity' +( + 'MacroStabilityInwardsSemiProbabilisticOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'MacroStabilityInwardsCalculationEntityId' INTEGER NOT NULL, + 'FactorOfStability' REAL, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'MacroStabilityInwardsProbability' REAL, + 'MacroStabilityInwardsReliability' REAL, + 'MacroStabilityInwardsFactorOfSafety' REAL, + CONSTRAINT 'FK_MacroStabilityInwardsSemiProbabilisticOutputEntity_MacroStabilityInwardsCalculationEntity' FOREIGN KEY ('MacroStabilityInwardsCalculationEntityId') REFERENCES 'MacroStabilityInwardsCalculationEntity' ('MacroStabilityInwardsCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +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 Indexes and Triggers */ + +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_MacroStabilityInwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'MacroStabilityInwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_ProjectEntity' + ON 'AssessmentSectionEntity' ('ProjectEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismSectionEntity_FailureMechanismEntity' + ON 'FailureMechanismSectionEntity' ('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_FailureMechanismEntity_AssessmentSectionEntity' + ON 'FailureMechanismEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismEntity_CalculationGroupEntity' + ON 'FailureMechanismEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'PipingFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'ClosingStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'StabilityStoneCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_CalculationGroupEntity_CalculationGroupEntity' + ON 'CalculationGroupEntity' ('ParentCalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'StabilityPointStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_HydraulicLocationEntity_AssessmentSectionEntity' + ON 'HydraulicLocationEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_PipingStochasticSoilProfileEntity' + ON 'PipingCalculationEntity' ('PipingStochasticSoilProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_SurfaceLineEntity' + ON 'PipingCalculationEntity' ('SurfaceLineEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_HydraulicLocationEntity' + ON 'PipingCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_CalculationGroupEntity' + ON 'PipingCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'GrassCoverErosionInwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'DuneErosionFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_CalculationGroupEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_DikeProfileEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('DikeProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_HydraulicLocationEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'HeightStructuresFailureMechanismMetaEntity' ('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_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_PipingCalculationOutputEntity_PipingCalculationEntity' + ON 'PipingCalculationOutputEntity' ('PipingCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingSemiProbabilisticOutputEntity_PipingCalculationEntity' + ON 'PipingSemiProbabilisticOutputEntity' ('PipingCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingSectionResultEntity_FailureMechanismSectionEntity' + ON 'PipingSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverErosionInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsSectionResultEntity_GrassCoverErosionInwardsCalculationEntity' + ON 'GrassCoverErosionInwardsSectionResultEntity' ('GrassCoverErosionInwardsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'HeightStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresSectionResultEntity_HeightStructuresCalculationEntity' + ON 'HeightStructuresSectionResultEntity' ('HeightStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_StrengthStabilityLengthwiseConstructionSectionResultEntity_FailureMechanismSectionEntity' + ON 'StrengthStabilityLengthwiseConstructionSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_TechnicalInnovationSectionResultEntity_FailureMechanismSectionEntity' + ON 'TechnicalInnovationSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaterPressureAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'WaterPressureAsphaltCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresSectionResultEntity_ClosingStructuresCalculationEntity' + ON 'ClosingStructuresSectionResultEntity' ('ClosingStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'ClosingStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverErosionOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverSlipOffInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverSlipOffInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverSlipOffOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverSlipOffOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MacroStabilityInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'MacroStabilityInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MacrostabilityOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'MacrostabilityOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'WaveImpactAsphaltCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MicrostabilitySectionResultEntity_FailureMechanismSectionEntity' + ON 'MicrostabilitySectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingStructureSectionResultEntity_FailureMechanismSectionEntity' + ON 'PipingStructureSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionSectionResultEntity_FailureMechanismSectionEntity' + ON 'DuneErosionSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'StabilityStoneCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityPointStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'StabilityPointStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityPointStructuresSectionResultEntity_StabilityPointStructuresCalculationEntity' + ON 'StabilityPointStructuresSectionResultEntity' ('StabilityPointStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_DikeProfileEntity_FailureMechanismEntity' + ON 'DikeProfileEntity' ('FailureMechanismEntityId' ASC) +; + +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_ForeshoreProfileEntity_FailureMechanismEntity' + ON 'ForeshoreProfileEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsOutputEntity_StabilityStoneCoverWaveConditionsCalculationEntity' + ON 'StabilityStoneCoverWaveConditionsOutputEntity' ('StabilityStoneCoverWaveConditionsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsOutputEntity_WaveImpactAsphaltCoverWaveConditionsCalculationEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsOutputEntity' ('WaveImpactAsphaltCoverWaveConditionsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_GrassCoverErosionOutwardsHydraulicLocationEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsHydraulicLocationEntity_FailureMechanismEntity' + ON 'GrassCoverErosionOutwardsHydraulicLocationEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsOutputEntity_GrassCoverErosionOutwardsWaveConditionsCalculationEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' ('GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' 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_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_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_StabilityPointStructureEntity_FailureMechanismEntity' + ON 'StabilityPointStructureEntity' ('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_HydraulicLocationOutputEntity_GeneralResultSubMechanismIllustrationPointEntity' + ON 'HydraulicLocationOutputEntity' ('GeneralResultSubMechanismIllustrationPointEntityId' ASC) +; + +CREATE INDEX 'IXFK_HydraulicLocationOutputEntity_HydraulicLocationEntity' + ON 'HydraulicLocationOutputEntity' ('HydraulicLocationEntityId' 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_GrassCoverErosionOutwardsHydraulicLocationOutputEntity_GeneralResultSubMechanismIllustrationPointEntity' + ON 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' ('GeneralResultSubMechanismIllustrationPointEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsHydraulicLocationOutputEntity_GrassCoverErosionOutwardsHydraulicLocationEntity' + ON 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId' ASC) +; +CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionOutwardsHydraulicLocationOutputEntity_RemoveGeneralResultSubMechanismIllustrationPointEntity] + AFTER DELETE + ON GrassCoverErosionOutwardsHydraulicLocationOutputEntity + FOR EACH ROW +BEGIN + DELETE + FROM GeneralResultSubMechanismIllustrationPointEntity + WHERE OLD.GeneralResultSubMechanismIllustrationPointEntityId IS NOT NULL + AND GeneralResultSubMechanismIllustrationPointEntityId IS OLD.GeneralResultSubMechanismIllustrationPointEntityId; +END; +; + +CREATE INDEX 'IXFK_DuneLocationEntity_FailureMechanismEntity' + ON 'DuneLocationEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneLocationOutputEntity_DuneLocationEntity' + ON 'DuneLocationOutputEntity' ('DuneLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_BackgroundDataEntity_AssessmentSectionEntity' + ON 'BackgroundDataEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_BackgroundDataMetaEntity_BackgroundDataEntity' + ON 'BackgroundDataMetaEntity' ('BackgroundDataEntityId' ASC) +; + +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_IllustrationPointResultEntity_SubMechanismIllustrationPointEntity' + ON 'IllustrationPointResultEntity' ('SubMechanismIllustrationPointEntityId' ASC) +; + +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_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_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_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_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_SubMechanismIllustrationPointStochast_SubMechanismIllustrationPointEntity' + ON 'SubMechanismIllustrationPointStochastEntity' ('SubMechanismIllustrationPointEntityId' ASC) +; + +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_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_MacroStabilityInwardsSoilLayerOneDEntity_MacroStabilityInwardsSoilProfileOneDEntity' + ON 'MacroStabilityInwardsSoilLayerOneDEntity' ('MacroStabilityInwardsSoilProfileOneDEntityId' ASC) +; + +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 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; +; Index: Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure17.3.sql =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure17.3.sql (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure17.3.sql (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,2615 @@ +/* ---------------------------------------------------- */ +/* Generated by Enterprise Architect Version 12.0 */ +/* Created On : 16-Nov-2017 12:03:12 */ +/* DBMS : SQLite */ +/* ---------------------------------------------------- */ + +/* Drop Tables */ + +DROP TABLE IF EXISTS 'VersionEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsDikeHeightOutputEntity' +; + +DROP TABLE IF EXISTS 'ProjectEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'AssessmentSectionEntity' +; + +DROP TABLE IF EXISTS 'FailureMechanismSectionEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'FailureMechanismEntity' +; + +DROP TABLE IF EXISTS 'PipingFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'CalculationGroupEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationEntity' +; + +DROP TABLE IF EXISTS 'PipingCalculationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'DuneErosionFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsCalculationEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingSoilLayerEntity' +; + +DROP TABLE IF EXISTS 'PipingSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'PipingStochasticSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'StochasticSoilModelEntity' +; + +DROP TABLE IF EXISTS 'SurfaceLineEntity' +; + +DROP TABLE IF EXISTS 'PipingCharacteristicPointEntity' +; + +DROP TABLE IF EXISTS 'PipingCalculationOutputEntity' +; + +DROP TABLE IF EXISTS 'PipingSemiProbabilisticOutputEntity' +; + +DROP TABLE IF EXISTS 'PipingSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StrengthStabilityLengthwiseConstructionSectionResultEntity' +; + +DROP TABLE IF EXISTS 'TechnicalInnovationSectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaterPressureAsphaltCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverSlipOffInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverSlipOffOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MacrostabilityOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MicrostabilitySectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingStructureSectionResultEntity' +; + +DROP TABLE IF EXISTS 'DuneErosionSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'DikeProfileEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsOutputEntity' +; + +DROP TABLE IF EXISTS 'ForeshoreProfileEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsHydraulicLocationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'HeightStructureEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructureEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructureEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationOutputEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationOutputEntity' +; + +DROP TABLE IF EXISTS 'BackgroundDataEntity' +; + +DROP TABLE IF EXISTS 'BackgroundDataMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultSubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'SubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'IllustrationPointResultEntity' +; + +DROP TABLE IF EXISTS 'StochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultSubMechanismIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultFaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultFaultTreeIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'TopLevelSubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'TopLevelFaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'SubMechanismIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeSubmechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCalculationEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCalculationOutputEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCharacteristicPointEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilLayerOneDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileOneDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilLayerTwoDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileTwoDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsStochasticSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsPreconsolidationStressEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSemiProbabilisticOutputEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity' +; + +/* 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 'GrassCoverErosionInwardsDikeHeightOutputEntity' +( + 'GrassCoverErosionInwardsDikeHeightOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'DikeHeight' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'ProjectEntity' +( + 'ProjectEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Description' VARCHAR (260) +) +; + +CREATE TABLE 'MacroStabilityInwardsFailureMechanismMetaEntity' +( + 'MacroStabilityInwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'A' REAL NOT NULL, + 'StochasticSoilModelCollectionSourcePath' TEXT, + 'SurfaceLineCollectionSourcePath' TEXT, + CONSTRAINT 'FK_MacroStabilityInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'AssessmentSectionEntity' +( + 'AssessmentSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ProjectEntityId' INTEGER NOT NULL, + 'Id' TEXT, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'LowerLimitNorm' REAL NOT NULL, + 'SignalingNorm' REAL NOT NULL, + 'NormativeNormType' TINYINT (1) NOT NULL, -- EnumType: 1 = LowerLimit, 2 = Signaling + 'HydraulicDatabaseVersion' TEXT, + 'HydraulicDatabaseLocation' TEXT, + 'Composition' TINYINT (1) NOT NULL, -- Enum: 1 = Dike, 2 = Dune, 3 = DikeAndDune + 'ReferenceLinePointXml' TEXT, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_AssessmentSectionEntity_ProjectEntity' FOREIGN KEY ('ProjectEntityId') REFERENCES 'ProjectEntity' ('ProjectEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'FailureMechanismSectionEntity' +( + 'FailureMechanismSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'FailureMechanismSectionPointXml' TEXT NOT NULL, + CONSTRAINT 'FK_FailureMechanismSectionEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresCalculationEntity' +( + 'StabilityPointStructuresCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'StabilityPointStructureEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ConstructiveStrengthLinearLoadModelMean' REAL, + 'ConstructiveStrengthLinearLoadModelCoefficientOfVariation' REAL, + 'ConstructiveStrengthQuadraticLoadModelMean' REAL, + 'ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation' REAL, + 'BankWidthMean' REAL, + 'BankWidthStandardDeviation' REAL, + 'InsideWaterLevelFailureConstructionMean' REAL, + 'InsideWaterLevelFailureConstructionStandardDeviation' REAL, + 'EvaluationLevel' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'VerticalDistance' REAL, + 'FailureProbabilityRepairClosure' REAL NOT NULL, + 'FailureCollisionEnergyMean' REAL, + 'FailureCollisionEnergyCoefficientOfVariation' REAL, + 'ShipMassMean' REAL, + 'ShipMassCoefficientOfVariation' REAL, + 'ShipVelocityMean' REAL, + 'ShipVelocityCoefficientOfVariation' REAL, + 'LevellingCount' INT (4) NOT NULL, + 'ProbabilityCollisionSecondaryStructure' REAL NOT NULL, + 'FlowVelocityStructureClosableMean' REAL, + 'StabilityLinearLoadModelMean' REAL, + 'StabilityLinearLoadModelCoefficientOfVariation' REAL, + 'StabilityQuadraticLoadModelMean' REAL, + 'StabilityQuadraticLoadModelCoefficientOfVariation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'InflowModelType' TINYINT (1) NOT NULL, -- Enum: 1 = VerticalWall, 2 = LowSill, 3 = FloodedCulvert + 'LoadSchematizationType' TINYINT (1) NOT NULL, -- Enum: 1 = Linear, 2 = Quadratic + 'VolumicWeightWater' REAL, + 'StormDurationMean' REAL, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'FactorStormDurationOpenStructure' REAL, + 'DrainCoefficientMean' REAL, + 'FailureProbabilityStructureWithErosion' REAL NOT NULL, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 'FailureMechanismEntity' +( + 'FailureMechanismEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'AssessmentSectionEntityId' INTEGER NOT NULL, + 'CalculationGroupEntityId' INTEGER, + '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 = Macrostabiliteit buitenwaarts, 14 = Microstabiliteit, 15 = Wateroverdruk bij asfaltbekleding, 16 = Grasbekleding afschuiven binnentalud, 17 = Sterkte en stabiliteit langsconstructires, 18 = Technische innovaties + 'IsRelevant' TINYINT (1) NOT NULL, -- true or false + 'InputComments' TEXT, + 'OutputComments' TEXT, + 'NotRelevantComments' TEXT, + 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 'PipingFailureMechanismMetaEntity' +( + 'PipingFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'A' REAL NOT NULL, + 'WaterVolumetricWeight' REAL NOT NULL, + 'StochasticSoilModelCollectionSourcePath' TEXT, + 'SurfaceLineCollectionSourcePath' TEXT, + CONSTRAINT 'FK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'ClosingStructuresFailureMechanismMetaEntity' +( + 'ClosingStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N2A' INT (4) NOT NULL, + 'ClosingStructureCollectionSourcePath' TEXT, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityStoneCoverFailureMechanismMetaEntity' +( + 'StabilityStoneCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_StabilityStoneCoverFailureMechanismMetaEntity_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, + 'Name' VARCHAR (260), + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_CalculationGroupEntity_CalculationGroupEntity' FOREIGN KEY ('ParentCalculationGroupEntityId') REFERENCES 'CalculationGroupEntity' ('CalculationGroupEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresFailureMechanismMetaEntity' +( + 'StabilityPointStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' INT (4) NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + 'StabilityPointStructureCollectionSourcePath' TEXT, + CONSTRAINT 'FK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'HydraulicLocationEntity' +( + 'HydraulicLocationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'AssessmentSectionEntityId' INTEGER NOT NULL, + 'LocationId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'LocationX' REAL, + 'LocationY' REAL, + 'ShouldWaveHeightIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldDesignWaterLevelIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_HydraulicLocationEntity_AssessmentSectionEntity' FOREIGN KEY ('AssessmentSectionEntityId') REFERENCES 'AssessmentSectionEntity' ('AssessmentSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingCalculationEntity' +( + 'PipingCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'SurfaceLineEntityId' INTEGER, + 'PipingStochasticSoilProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'EntryPointL' REAL, + 'ExitPointL' REAL, + 'PhreaticLevelExitMean' REAL, + 'PhreaticLevelExitStandardDeviation' REAL, + 'DampingFactorExitMean' REAL, + 'DampingFactorExitStandardDeviation' REAL, + 'RelevantForScenario' TINYINT (1) NOT NULL, -- true or false + 'ScenarioContribution' REAL, + 'AssessmentLevel' REAL, + 'UseAssessmentLevelManualInput' TINYINT (1) NOT NULL, -- true or false + CONSTRAINT 'FK_PipingCalculationEntity_CalculationGroupEntity' FOREIGN KEY ('CalculationGroupEntityId') REFERENCES 'CalculationGroupEntity' ('CalculationGroupEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_HydraulicLocationEntity' FOREIGN KEY ('HydraulicLocationEntityId') REFERENCES 'HydraulicLocationEntity' ('HydraulicLocationEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_PipingStochasticSoilProfileEntity' FOREIGN KEY ('PipingStochasticSoilProfileEntityId') REFERENCES 'PipingStochasticSoilProfileEntity' ('PipingStochasticSoilProfileEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsFailureMechanismMetaEntity' +( + 'GrassCoverErosionInwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' INT (4) NOT NULL, + 'DikeProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +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 'GrassCoverErosionInwardsCalculationEntity' +( + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'HydraulicLocationEntityId' INTEGER, + 'DikeProfileEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'Orientation' REAL, + 'CriticalFlowRateMean' REAL, + 'CriticalFlowRateStandardDeviation' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'DikeHeightCalculationType' TINYINT (1) NOT NULL, -- Enum: 1 = NoCalculation, 2 = CalculateByAssessmentSectionNorm, 3 = CalculateByProfileSpecificRequiredProbability + 'DikeHeight' REAL, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'OvertoppingRateCalculationType' TINYINT (1) NOT NULL, -- Enum: 1 = NoCalculation, 2 = CalculateByAssessmentSectionNorm, 3 = CalculateByProfileSpecificRequiredProbability + 'ShouldDikeHeightIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldOvertoppingRateIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldOvertoppingOutputIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 'HeightStructuresFailureMechanismMetaEntity' +( + 'HeightStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' INT (4) NOT NULL, + 'HeightStructureCollectionSourcePath' TEXT, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_HeightStructuresFailureMechanismMetaEntity_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' INT (4) NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + 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, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- ARGB value of Color. + 'MaterialName' TEXT NOT NULL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelDeviation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'DiameterD70Mean' REAL, + 'DiameterD70CoefficientOfVariation' REAL, + 'PermeabilityMean' REAL, + 'PermeabilityCoefficientOfVariation' REAL, + '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, + '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 '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, + 'ReferenceLineIntersectionY' REAL, + '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, + 'Y' REAL, + 'Z' REAL, + CONSTRAINT 'FK_SurfaceLinePointEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingCalculationOutputEntity' +( + 'PipingCalculationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'PipingCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'HeaveFactorOfSafety' REAL, + 'HeaveZValue' REAL, + 'UpliftFactorOfSafety' REAL, + 'UpliftZValue' REAL, + 'SellmeijerFactorOfSafety' REAL, + 'SellmeijerZValue' REAL, + 'UpliftEffectiveStress' REAL, + 'HeaveGradient' REAL, + 'SellmeijerCreepCoefficient' REAL, + 'SellmeijerCriticalFall' REAL, + 'SellmeijerReducedFall' REAL, + CONSTRAINT 'FK_PipingCalculationOutputEntity_PipingCalculationEntity' FOREIGN KEY ('PipingCalculationEntityId') REFERENCES 'PipingCalculationEntity' ('PipingCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_PipingCalculationEntity' UNIQUE ('PipingCalculationEntityId') +) +; + +CREATE TABLE 'PipingSemiProbabilisticOutputEntity' +( + 'PipingSemiProbabilisticOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'PipingCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'UpliftFactorOfSafety' REAL, + 'UpliftReliability' REAL, + 'UpliftProbability' REAL, + 'HeaveFactorOfSafety' REAL, + 'HeaveReliability' REAL, + 'HeaveProbability' REAL, + 'SellmeijerFactorOfSafety' REAL, + 'SellmeijerReliability' REAL, + 'SellmeijerProbability' REAL, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'PipingProbability' REAL, + 'PipingReliability' REAL, + 'PipingFactorOfSafety' REAL, + CONSTRAINT 'FK_PipingSemiProbabilisticOutputEntity_PipingCalculationEntity' FOREIGN KEY ('PipingCalculationEntityId') REFERENCES 'PipingCalculationEntity' ('PipingCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_PipingCalculationEntity' UNIQUE ('PipingCalculationEntityId') +) +; + +CREATE TABLE 'PipingSectionResultEntity' +( + 'PipingSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_PipingSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsSectionResultEntity' +( + 'GrassCoverErosionInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverErosionInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionInwardsSectionResultEntity_GrassCoverErosionInwardsCalculationEntity' FOREIGN KEY ('GrassCoverErosionInwardsCalculationEntityId') REFERENCES 'GrassCoverErosionInwardsCalculationEntity' ('GrassCoverErosionInwardsCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'HeightStructuresSectionResultEntity' +( + 'HeightStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'HeightStructuresCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_HeightStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_HeightStructuresSectionResultEntity_HeightStructuresCalculationEntity' FOREIGN KEY ('HeightStructuresCalculationEntityId') REFERENCES 'HeightStructuresCalculationEntity' ('HeightStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'StrengthStabilityLengthwiseConstructionSectionResultEntity' +( + 'StrengthStabilityLengthwiseConstructionSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_StrengthStabilityLengthwiseConstructionSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'TechnicalInnovationSectionResultEntity' +( + 'TechnicalInnovationSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_TechnicalInnovationSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaterPressureAsphaltCoverSectionResultEntity' +( + 'WaterPressureAsphaltCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_WaterPressureAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'ClosingStructuresSectionResultEntity' +( + 'ClosingStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'ClosingStructuresCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_ClosingStructuresSectionResultEntity_ClosingStructuresCalculationEntity' FOREIGN KEY ('ClosingStructuresCalculationEntityId') REFERENCES 'ClosingStructuresCalculationEntity' ('ClosingStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_ClosingStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsSectionResultEntity' +( + 'GrassCoverErosionOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverErosionOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverSlipOffInwardsSectionResultEntity' +( + 'GrassCoverSlipOffInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverSlipOffInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverSlipOffOutwardsSectionResultEntity' +( + 'GrassCoverSlipOffOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_GrassCoverSlipOffOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSectionResultEntity' +( + 'MacroStabilityInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_MacroStabilityInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacrostabilityOutwardsSectionResultEntity' +( + 'MacrostabilityOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' REAL, + 'LayerThree' REAL, + CONSTRAINT 'FK_MacrostabilityOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaveImpactAsphaltCoverSectionResultEntity' +( + 'WaveImpactAsphaltCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_WaveImpactAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MicrostabilitySectionResultEntity' +( + 'MicrostabilitySectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_MicrostabilitySectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' +( + 'WaveImpactAsphaltCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingStructureSectionResultEntity' +( + 'PipingStructureSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_PipingStructureSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'DuneErosionSectionResultEntity' +( + 'DuneErosionSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_DuneErosionSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityStoneCoverSectionResultEntity' +( + 'StabilityStoneCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerTwoA' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = Failed, 3 = Successful + 'LayerThree' REAL, + CONSTRAINT 'FK_StabilityStoneCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresSectionResultEntity' +( + 'StabilityPointStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'StabilityPointStructuresCalculationEntityId' INTEGER, + 'LayerOne' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'LayerThree' REAL, + CONSTRAINT 'FK_StabilityPointStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_StabilityPointStructuresSectionResultEntity_StabilityPointStructuresCalculationEntity' FOREIGN KEY ('StabilityPointStructuresCalculationEntityId') REFERENCES 'StabilityPointStructuresCalculationEntity' ('StabilityPointStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +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, + 'BreakWaterType' TINYINT (1), -- Enum: 1 = Wall 2 = Caisson 3 = Dam + 'BreakWaterHeight' REAL, + 'ForeshoreXml' TEXT NOT NULL, + 'DikeGeometryXml' TEXT NOT NULL, + 'DikeHeight' REAL, + 'X' REAL, + 'Y' REAL, + 'X0' REAL, + '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 'GrassCoverErosionInwardsOutputEntity' +( + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'IsOvertoppingDominant' TINYINT (1) NOT NULL, -- true or false + 'WaveHeight' REAL, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + 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 'ForeshoreProfileEntity' +( + 'ForeshoreProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Id' VARCHAR (260) NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'Orientation' REAL, + 'BreakWaterType' TINYINT (1), -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'GeometryXml' TEXT NOT NULL, + 'X' REAL, + 'Y' REAL, + 'X0' REAL, + '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 'StabilityStoneCoverWaveConditionsCalculationEntity' +( + 'StabilityStoneCoverWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 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_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, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' +( + 'WaveImpactAsphaltCoverWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 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_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, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 TABLE 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' +( + 'GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'GrassCoverErosionOutwardsHydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 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_GrassCoverErosionOutwardsHydraulicLocationEntity' FOREIGN KEY ('GrassCoverErosionOutwardsHydraulicLocationEntityId') REFERENCES 'GrassCoverErosionOutwardsHydraulicLocationEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsHydraulicLocationEntity' +( + 'GrassCoverErosionOutwardsHydraulicLocationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'LocationId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'LocationX' REAL, + 'LocationY' REAL, + 'ShouldWaveHeightIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldDesignWaterLevelIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_GrassCoverErosionOutwardsHydraulicLocationEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' +( + 'GrassCoverErosionOutwardsWaveConditionsOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'WaterLevel' REAL, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'HeightStructuresOutputEntity' +( + 'HeightStructuresOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HeightStructuresCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'FailureProbabilityStructureWithErosion' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 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, + 'HeightStructureEntityId' INTEGER, + 'ForeshoreProfileEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'StructureNormalOrientation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FailureProbabilityStructureWithErosion' REAL NOT NULL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'StormDurationMean' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'DeviationWaveDirection' REAL, + '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, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'LevelCrestStructureNotClosingMean' REAL, + 'LevelCrestStructureNotClosingStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ProbabilityOrFrequencyOpenStructureBeforeFlooding' REAL, + 'FailureProbabilityOpenStructure' REAL, + 'IdenticalApertures' INT (4) NOT NULL, + 'FailureProbabilityReparation' REAL, + '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, + 'HydraulicLocationEntityId' INTEGER, + 'ClosingStructureEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (255), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'LevelCrestStructureNotClosingMean' REAL, + 'LevelCrestStructureNotClosingStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ProbabilityOrFrequencyOpenStructureBeforeFlooding' 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, + 'DrainCoefficientMean' REAL, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'StormDurationMean' REAL, + 'FactorStormDurationOpenStructure' REAL, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ConstructiveStrengthLinearLoadModelMean' REAL, + 'ConstructiveStrengthLinearLoadModelCoefficientOfVariation' REAL, + 'ConstructiveStrengthQuadraticLoadModelMean' REAL, + 'ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation' REAL, + 'BankWidthMean' REAL, + 'BankWidthStandardDeviation' REAL, + 'InsideWaterLevelFailureConstructionMean' REAL, + 'InsideWaterLevelFailureConstructionStandardDeviation' REAL, + 'EvaluationLevel' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'VerticalDistance' REAL, + 'FailureProbabilityRepairClosure' REAL, + 'FailureCollisionEnergyMean' REAL, + 'FailureCollisionEnergyCoefficientOfVariation' REAL, + 'ShipMassMean' REAL, + 'ShipMassCoefficientOfVariation' REAL, + 'ShipVelocityMean' REAL, + 'ShipVelocityCoefficientOfVariation' REAL, + 'LevellingCount' INT (4) NOT NULL, + 'ProbabilityCollisionSecondaryStructure' REAL, + 'FlowVelocityStructureClosableMean' REAL, + 'StabilityLinearLoadModelMean' REAL, + 'StabilityLinearLoadModelCoefficientOfVariation' REAL, + 'StabilityQuadraticLoadModelMean' REAL, + 'StabilityQuadraticLoadModelCoefficientOfVariation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + '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 'StabilityPointStructuresOutputEntity' +( + 'StabilityPointStructuresOutputEntity' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'StabilityPointStructuresCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'Probability' REAL, + 'Reliability' REAL, + 'FactorOfSafety' REAL, + 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 'HydraulicLocationOutputEntity' +( + 'HydraulicLocationEntityOutputId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HydraulicLocationEntityId' INTEGER NOT NULL, + 'GeneralResultSubMechanismIllustrationPointEntityId' INTEGER, + 'HydraulicLocationOutputType' TINYINT (1) NOT NULL, -- Enum: 1 = DesignWaterLevel, 2 = WaveHeight + 'Result' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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_HydraulicLocationEntity' FOREIGN KEY ('HydraulicLocationEntityId') REFERENCES 'HydraulicLocationEntity' ('HydraulicLocationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_HydraulicLocationEntityOutputType' UNIQUE ('HydraulicLocationEntityId','HydraulicLocationOutputType') +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' +( + 'GrassCoverErosionOutwardsHydraulicLocationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionOutwardsHydraulicLocationEntityId' INTEGER NOT NULL, + 'GeneralResultSubMechanismIllustrationPointEntityId' INTEGER, + 'HydraulicLocationOutputType' TINYINT (1) NOT NULL, -- Enum: 1 = DesignWaterLevel, 2 = WaveHeight + 'Result' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + 'CalculationConvergence' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculatedNotConverged, 3 = CalculatedConverged + CONSTRAINT 'FK_GrassCoverErosionOutwardsHydraulicLocationOutputEntity_GeneralResultSubMechanismIllustrationPointEntity' FOREIGN KEY ('GeneralResultSubMechanismIllustrationPointEntityId') REFERENCES 'GeneralResultSubMechanismIllustrationPointEntity' ('GeneralResultSubMechanismIllustrationPointEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsHydraulicLocationOutputEntity_GrassCoverErosionOutwardsHydraulicLocationEntity' FOREIGN KEY ('GrassCoverErosionOutwardsHydraulicLocationEntityId') REFERENCES 'GrassCoverErosionOutwardsHydraulicLocationEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_HydraulicLocationOutputType' UNIQUE ('GrassCoverErosionOutwardsHydraulicLocationEntityId','HydraulicLocationOutputType') +) +; + +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, + 'LocationY' REAL, + 'CoastalAreaId' INT (4) NOT NULL, + 'Offset' REAL, + 'Orientation' REAL, + 'D50' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_DuneLocationEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'DuneLocationOutputEntity' +( + 'DuneLocationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'DuneLocationEntityId' INTEGER NOT NULL, + 'WaterLevel' REAL, + 'WaveHeight' REAL, + 'WavePeriod' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + 'CalculationConvergence' TINYINT (1) NOT NULL, -- Enum: 1 = NotCalculated, 2 = CalculatedNotConverged, 3 = CalculatedConverged + CONSTRAINT 'FK_DuneLocationOutputEntity_DuneLocationEntity' FOREIGN KEY ('DuneLocationEntityId') REFERENCES 'DuneLocationEntity' ('DuneLocationEntityId') 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 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' +( + 'GrassCoverErosionInwardsOvertoppingRateOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'OvertoppingRate' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'GeneralResultSubMechanismIllustrationPointEntity' +( + 'GeneralResultSubMechanismIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GoverningWindDirectionName' TEXT NOT NULL, + 'GoverningWindDirectionAngle' REAL 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 'IllustrationPointResultEntity' +( + 'IllustrationPointResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'SubMechanismIllustrationPointEntityId' INTEGER NOT NULL, + 'Description' 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 '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 '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 'GeneralResultFaultTreeIllustrationPointEntity' +( + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GoverningWindDirectionName' TEXT NOT NULL, + 'GoverningWindDirectionAngle' REAL NOT NULL +) +; + +CREATE TABLE 'FaultTreeIllustrationPointEntity' +( + 'FaultTreeIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ParentFaultTreeIllustrationPointEntityId' INTEGER, + '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 '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 '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 '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 'SubMechanismIllustrationPointStochastEntity' +( + 'SubMechanismIllustrationPointStochastEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'SubMechanismIllustrationPointEntityId' INTEGER NOT NULL, + 'Name' 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 '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 'MacroStabilityInwardsCalculationEntity' +( + 'MacroStabilityInwardsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'SurfaceLineEntityId' INTEGER, + 'MacroStabilityInwardsStochasticSoilProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comment' TEXT, + 'RelevantForScenario' TINYINT (1) NOT NULL, -- true or false + 'ScenarioContribution' REAL, + 'AssessmentLevel' REAL, + 'UseAssessmentLevelManualInput' TINYINT (1) NOT NULL, -- true or false + 'SlipPlaneMinimumDepth' REAL, + 'SlipPlaneMinimumLength' REAL, + 'MaximumSliceWidth' REAL, + '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, + 'TangentLineZBottom' REAL, + 'TangentLineNumber' INT (4) NOT NULL, + 'LeftGridXLeft' REAL, + 'LeftGridXRight' REAL, + 'LeftGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'LeftGridZTop' REAL, + 'LeftGridZBottom' REAL, + 'LeftGridNrOfVerticalPoints' INT (4) NOT NULL, + 'RightGridXLeft' REAL, + 'RightGridXRight' REAL, + 'RightGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'RightGridZTop' REAL, + 'RightGridZBottom' REAL, + 'RightGridNrOfVerticalPoints' INT (4) NOT NULL, + 'DikeSoilScenario' TINYINT (1) NOT NULL, -- Enumtype: 1 = ClayDikeOnClay, 2 = SandDikeOnClay, 3 = ClayDikeOnSand, 4 = SandDikeOnSand + 'WaterLevelRiverAverage' REAL, + 'DrainageConstructionPresent' TINYINT (1) NOT NULL, -- true or false + 'DrainageConstructionCoordinateX' REAL, + 'DrainageConstructionCoordinateZ' REAL, + 'MinimumLevelPhreaticLineAtDikeTopRiver' REAL, + 'MinimumLevelPhreaticLineAtDikeTopPolder' REAL, + 'AdjustPhreaticLine3And4ForUplift' TINYINT (1) NOT NULL, -- true or false + 'LeakageLengthOutwardsPhreaticLine3' REAL, + 'LeakageLengthInwardsPhreaticLine3' REAL, + 'LeakageLengthOutwardsPhreaticLine4' REAL, + 'LeakageLengthInwardsPhreaticLine4' REAL, + 'PiezometricHeadPhreaticLine2Outwards' REAL, + 'PiezometricHeadPhreaticLine2Inwards' REAL, + 'LocationInputExtremeWaterLevelPolder' REAL, + 'LocationInputExtremeUseDefaultOffsets' TINYINT (1) NOT NULL, -- true or false + 'LocationInputExtremePhreaticLineOffsetBelowDikeTopAtRiver' REAL, + 'LocationInputExtremePhreaticLineOffsetBelowDikeTopAtPolder' REAL, + 'LocationInputExtremePhreaticLineOffsetBelowShoulderBaseInside' REAL, + 'LocationInputExtremePhreaticLineOffsetDikeToeAtPolder' REAL, + 'LocationInputExtremePenetrationLength' REAL, + 'LocationInputDailyWaterLevelPolder' REAL, + 'LocationInputDailyUseDefaultOffsets' TINYINT (1) NOT NULL, -- true or false + 'LocationInputDailyPhreaticLineOffsetBelowDikeTopAtRiver' REAL, + 'LocationInputDailyPhreaticLineOffsetBelowDikeTopAtPolder' REAL, + 'LocationInputDailyPhreaticLineOffsetBelowShoulderBaseInside' REAL, + 'LocationInputDailyPhreaticLineOffsetDikeToeAtPolder' REAL, + 'CreateZones' TINYINT (1) NOT NULL, -- true or false + 'ZoningBoundariesDeterminationType' TINYINT (1) NOT NULL, -- Enumtype: 1 = Automatic, 2 = Manual + 'ZoneBoundaryLeft' REAL, + 'ZoneBoundaryRight' REAL, + 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, + 'ZValue' REAL, + 'ForbiddenZonesXEntryMin' REAL, + 'ForbiddenZonesXEntryMax' REAL, + 'SlidingCurveLeftSlidingCircleCenterX' REAL, + 'SlidingCurveLeftSlidingCircleCenterY' REAL, + 'SlidingCurveLeftSlidingCircleRadius' REAL, + 'SlidingCurveLeftSlidingCircleIsActive' TINYINT (1) NOT NULL, -- true or false + 'SlidingCurveLeftSlidingCircleNonIteratedForce' REAL, + 'SlidingCurveLeftSlidingCircleIteratedForce' REAL, + 'SlidingCurveLeftSlidingCircleDrivingMoment' REAL, + 'SlidingCurveLeftSlidingCircleResistingMoment' REAL, + 'SlidingCurveRightSlidingCircleCenterX' REAL, + 'SlidingCurveRightSlidingCircleCenterY' REAL, + 'SlidingCurveRightSlidingCircleRadius' REAL, + 'SlidingCurveRightSlidingCircleIsActive' TINYINT (1) NOT NULL, -- true or false + 'SlidingCurveRightSlidingCircleNonIteratedForce' REAL, + 'SlidingCurveRightSlidingCircleIteratedForce' REAL, + 'SlidingCurveRightSlidingCircleDrivingMoment' REAL, + 'SlidingCurveRightSlidingCircleResistingMoment' REAL, + 'SlidingCurveNonIteratedHorizontalForce' REAL, + 'SlidingCurveIteratedHorizontalForce' REAL, + 'SlidingCurveSliceXML' TEXT NOT NULL, -- XML representation of MacroStabilityInwardsSlice + 'SlipPlaneLeftGridXLeft' REAL, + 'SlipPlaneLeftGridXRight' REAL, + 'SlipPlaneLeftGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'SlipPlaneLeftGridZTop' REAL, + 'SlipPlaneLeftGridZBottom' REAL, + 'SlipPlaneLeftGridNrOfVerticalPoints' INT (4) NOT NULL, + 'SlipPlaneRightGridXLeft' REAL, + 'SlipPlaneRightGridXRight' REAL, + 'SlipPlaneRightGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'SlipPlaneRightGridZTop' REAL, + 'SlipPlaneRightGridZBottom' REAL, + '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, + 'Y' REAL, + 'Z' REAL, + CONSTRAINT 'FK_MacroStabilityInwardsCharacteristicPointEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilLayerOneDEntity' +( + 'MacroStabilityInwardsSoilLayerOneDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER NOT NULL, + 'Top' REAL, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- 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, + 'AbovePhreaticLevelCoefficientOfVariation' REAL, + 'AbovePhreaticLevelShift' REAL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelCoefficientOfVariation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'CohesionMean' REAL, + 'CohesionCoefficientOfVariation' REAL, + 'FrictionAngleMean' REAL, + 'FrictionAngleCoefficientOfVariation' REAL, + 'ShearStrengthRatioMean' REAL, + 'ShearStrengthRatioCoefficientOfVariation' REAL, + 'StrengthIncreaseExponentMean' REAL, + 'StrengthIncreaseExponentCoefficientOfVariation' REAL, + 'PopMean' REAL, + 'PopCoefficientOfVariation' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_MacroStabilityInwardsSoilLayerOneDEntity_MacroStabilityInwardsSoilProfileOneDEntity' FOREIGN KEY ('MacroStabilityInwardsSoilProfileOneDEntityId') REFERENCES 'MacroStabilityInwardsSoilProfileOneDEntity' ('MacroStabilityInwardsSoilProfileOneDEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilProfileOneDEntity' +( + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Name' TEXT NOT NULL, + 'Bottom' REAL +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilLayerTwoDEntity' +( + 'MacroStabilityInwardsSoilLayerTwoDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ParentMacroStabilityInwardsSoilLayerTwoDEntityId' INTEGER, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- 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, + 'AbovePhreaticLevelCoefficientOfVariation' REAL, + 'AbovePhreaticLevelShift' REAL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelCoefficientOfVariation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'CohesionMean' REAL, + 'CohesionCoefficientOfVariation' REAL, + 'FrictionAngleMean' REAL, + 'FrictionAngleCoefficientOfVariation' REAL, + 'ShearStrengthRatioMean' REAL, + 'ShearStrengthRatioCoefficientOfVariation' REAL, + 'StrengthIncreaseExponentMean' REAL, + 'StrengthIncreaseExponentCoefficientOfVariation' REAL, + 'PopMean' REAL, + 'PopCoefficientOfVariation' REAL, + '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 'MacroStabilityInwardsSoilProfileTwoDEntity' +( + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Name' TEXT NOT NULL +) +; + +CREATE TABLE 'MacroStabilityInwardsStochasticSoilProfileEntity' +( + 'MacroStabilityInwardsStochasticSoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'StochasticSoilModelEntityId' INTEGER NOT NULL, + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER, + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER, + '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 'MacroStabilityInwardsPreconsolidationStressEntity' +( + 'MacroStabilityInwardsPreconsolidationStressEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER NOT NULL, + 'CoordinateX' REAL NOT NULL, + 'CoordinateZ' REAL NOT NULL, + 'PreconsolidationStressMean' REAL, + 'PreconsolidationStressCoefficientOfVariation' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_MacroStabilityInwardsPreconsolidationStressEntity_MacroStabilityInwardsSoilProfileTwoDEntity' FOREIGN KEY ('MacroStabilityInwardsSoilProfileTwoDEntityId') REFERENCES 'MacroStabilityInwardsSoilProfileTwoDEntity' ('MacroStabilityInwardsSoilProfileTwoDEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSemiProbabilisticOutputEntity' +( + 'MacroStabilityInwardsSemiProbabilisticOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'MacroStabilityInwardsCalculationEntityId' INTEGER NOT NULL, + 'FactorOfStability' REAL, + 'RequiredProbability' REAL, + 'RequiredReliability' REAL, + 'MacroStabilityInwardsProbability' REAL, + 'MacroStabilityInwardsReliability' REAL, + 'MacroStabilityInwardsFactorOfSafety' REAL, + CONSTRAINT 'FK_MacroStabilityInwardsSemiProbabilisticOutputEntity_MacroStabilityInwardsCalculationEntity' FOREIGN KEY ('MacroStabilityInwardsCalculationEntityId') REFERENCES 'MacroStabilityInwardsCalculationEntity' ('MacroStabilityInwardsCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +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 Indexes and Triggers */ + +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_MacroStabilityInwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'MacroStabilityInwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_ProjectEntity' + ON 'AssessmentSectionEntity' ('ProjectEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismSectionEntity_FailureMechanismEntity' + ON 'FailureMechanismSectionEntity' ('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_FailureMechanismEntity_AssessmentSectionEntity' + ON 'FailureMechanismEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismEntity_CalculationGroupEntity' + ON 'FailureMechanismEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'PipingFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'ClosingStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'StabilityStoneCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_CalculationGroupEntity_CalculationGroupEntity' + ON 'CalculationGroupEntity' ('ParentCalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'StabilityPointStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_HydraulicLocationEntity_AssessmentSectionEntity' + ON 'HydraulicLocationEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_PipingStochasticSoilProfileEntity' + ON 'PipingCalculationEntity' ('PipingStochasticSoilProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_SurfaceLineEntity' + ON 'PipingCalculationEntity' ('SurfaceLineEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_HydraulicLocationEntity' + ON 'PipingCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_CalculationGroupEntity' + ON 'PipingCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'GrassCoverErosionInwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'DuneErosionFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_CalculationGroupEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_DikeProfileEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('DikeProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_HydraulicLocationEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'HeightStructuresFailureMechanismMetaEntity' ('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_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_PipingCalculationOutputEntity_PipingCalculationEntity' + ON 'PipingCalculationOutputEntity' ('PipingCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingSemiProbabilisticOutputEntity_PipingCalculationEntity' + ON 'PipingSemiProbabilisticOutputEntity' ('PipingCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingSectionResultEntity_FailureMechanismSectionEntity' + ON 'PipingSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverErosionInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsSectionResultEntity_GrassCoverErosionInwardsCalculationEntity' + ON 'GrassCoverErosionInwardsSectionResultEntity' ('GrassCoverErosionInwardsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'HeightStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresSectionResultEntity_HeightStructuresCalculationEntity' + ON 'HeightStructuresSectionResultEntity' ('HeightStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_StrengthStabilityLengthwiseConstructionSectionResultEntity_FailureMechanismSectionEntity' + ON 'StrengthStabilityLengthwiseConstructionSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_TechnicalInnovationSectionResultEntity_FailureMechanismSectionEntity' + ON 'TechnicalInnovationSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaterPressureAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'WaterPressureAsphaltCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresSectionResultEntity_ClosingStructuresCalculationEntity' + ON 'ClosingStructuresSectionResultEntity' ('ClosingStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'ClosingStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverErosionOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverSlipOffInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverSlipOffInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverSlipOffOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverSlipOffOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MacroStabilityInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'MacroStabilityInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MacrostabilityOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'MacrostabilityOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'WaveImpactAsphaltCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MicrostabilitySectionResultEntity_FailureMechanismSectionEntity' + ON 'MicrostabilitySectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingStructureSectionResultEntity_FailureMechanismSectionEntity' + ON 'PipingStructureSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionSectionResultEntity_FailureMechanismSectionEntity' + ON 'DuneErosionSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'StabilityStoneCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityPointStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'StabilityPointStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityPointStructuresSectionResultEntity_StabilityPointStructuresCalculationEntity' + ON 'StabilityPointStructuresSectionResultEntity' ('StabilityPointStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_DikeProfileEntity_FailureMechanismEntity' + ON 'DikeProfileEntity' ('FailureMechanismEntityId' ASC) +; + +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_ForeshoreProfileEntity_FailureMechanismEntity' + ON 'ForeshoreProfileEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsOutputEntity_StabilityStoneCoverWaveConditionsCalculationEntity' + ON 'StabilityStoneCoverWaveConditionsOutputEntity' ('StabilityStoneCoverWaveConditionsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsOutputEntity_WaveImpactAsphaltCoverWaveConditionsCalculationEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsOutputEntity' ('WaveImpactAsphaltCoverWaveConditionsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_GrassCoverErosionOutwardsHydraulicLocationEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsHydraulicLocationEntity_FailureMechanismEntity' + ON 'GrassCoverErosionOutwardsHydraulicLocationEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsOutputEntity_GrassCoverErosionOutwardsWaveConditionsCalculationEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' ('GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' 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_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_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_StabilityPointStructureEntity_FailureMechanismEntity' + ON 'StabilityPointStructureEntity' ('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_HydraulicLocationOutputEntity_GeneralResultSubMechanismIllustrationPointEntity' + ON 'HydraulicLocationOutputEntity' ('GeneralResultSubMechanismIllustrationPointEntityId' ASC) +; + +CREATE INDEX 'IXFK_HydraulicLocationOutputEntity_HydraulicLocationEntity' + ON 'HydraulicLocationOutputEntity' ('HydraulicLocationEntityId' 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_GrassCoverErosionOutwardsHydraulicLocationOutputEntity_GeneralResultSubMechanismIllustrationPointEntity' + ON 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' ('GeneralResultSubMechanismIllustrationPointEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsHydraulicLocationOutputEntity_GrassCoverErosionOutwardsHydraulicLocationEntity' + ON 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId' ASC) +; +CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionOutwardsHydraulicLocationOutputEntity_RemoveGeneralResultSubMechanismIllustrationPointEntity] + AFTER DELETE + ON GrassCoverErosionOutwardsHydraulicLocationOutputEntity + FOR EACH ROW +BEGIN + DELETE + FROM GeneralResultSubMechanismIllustrationPointEntity + WHERE OLD.GeneralResultSubMechanismIllustrationPointEntityId IS NOT NULL + AND GeneralResultSubMechanismIllustrationPointEntityId IS OLD.GeneralResultSubMechanismIllustrationPointEntityId; +END; +; + +CREATE INDEX 'IXFK_DuneLocationEntity_FailureMechanismEntity' + ON 'DuneLocationEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneLocationOutputEntity_DuneLocationEntity' + ON 'DuneLocationOutputEntity' ('DuneLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_BackgroundDataEntity_AssessmentSectionEntity' + ON 'BackgroundDataEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_BackgroundDataMetaEntity_BackgroundDataEntity' + ON 'BackgroundDataMetaEntity' ('BackgroundDataEntityId' ASC) +; + +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_IllustrationPointResultEntity_SubMechanismIllustrationPointEntity' + ON 'IllustrationPointResultEntity' ('SubMechanismIllustrationPointEntityId' ASC) +; + +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_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_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_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_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_SubMechanismIllustrationPointStochast_SubMechanismIllustrationPointEntity' + ON 'SubMechanismIllustrationPointStochastEntity' ('SubMechanismIllustrationPointEntityId' ASC) +; + +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_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_MacroStabilityInwardsSoilLayerOneDEntity_MacroStabilityInwardsSoilProfileOneDEntity' + ON 'MacroStabilityInwardsSoilLayerOneDEntity' ('MacroStabilityInwardsSoilProfileOneDEntityId' ASC) +; + +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 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; +; Index: Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure18.1.sql =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure18.1.sql (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure18.1.sql (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,2825 @@ +/* ---------------------------------------------------- */ +/* Generated by Enterprise Architect Version 12.0 */ +/* Created On : 10-Sep-2018 10:04:29 */ +/* DBMS : SQLite */ +/* ---------------------------------------------------- */ + +/* Drop Tables */ + +DROP TABLE IF EXISTS 'VersionEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsDikeHeightOutputEntity' +; + +DROP TABLE IF EXISTS 'ProjectEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'AssessmentSectionEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityOutwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'FailureMechanismSectionEntity' +; + +DROP TABLE IF EXISTS 'FailureMechanismEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'CalculationGroupEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationEntity' +; + +DROP TABLE IF EXISTS 'PipingCalculationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsCalculationEntity' +; + +DROP TABLE IF EXISTS 'DuneErosionFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingSoilLayerEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'PipingStochasticSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'StochasticSoilModelEntity' +; + +DROP TABLE IF EXISTS 'SurfaceLineEntity' +; + +DROP TABLE IF EXISTS 'PipingCharacteristicPointEntity' +; + +DROP TABLE IF EXISTS 'PipingCalculationOutputEntity' +; + +DROP TABLE IF EXISTS 'PipingStructureFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StrengthStabilityLengthwiseConstructionSectionResultEntity' +; + +DROP TABLE IF EXISTS 'TechnicalInnovationSectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaterPressureAsphaltCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverSlipOffInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverSlipOffOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MicrostabilitySectionResultEntity' +; + +DROP TABLE IF EXISTS 'PipingStructureSectionResultEntity' +; + +DROP TABLE IF EXISTS 'DuneErosionSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'DikeProfileEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsOutputEntity' +; + +DROP TABLE IF EXISTS 'ForeshoreProfileEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'HeightStructureEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructureEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructureEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationOutputEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationCalculationOutputEntity' +; + +DROP TABLE IF EXISTS 'BackgroundDataEntity' +; + +DROP TABLE IF EXISTS 'BackgroundDataMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultSubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'SubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'IllustrationPointResultEntity' +; + +DROP TABLE IF EXISTS 'StochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultSubMechanismIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultFaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultFaultTreeIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'TopLevelSubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'TopLevelFaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'SubMechanismIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeSubmechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCalculationEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCalculationOutputEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCharacteristicPointEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilLayerOneDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileOneDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilLayerTwoDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileTwoDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsStochasticSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsPreconsolidationStressEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationCalculationEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationCalculationCollectionEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationCalculationCollectionEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationCalculationEntity' +; + +/* 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 'GrassCoverErosionInwardsDikeHeightOutputEntity' +( + 'GrassCoverErosionInwardsDikeHeightOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'DikeHeight' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'ProjectEntity' +( + 'ProjectEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Description' VARCHAR (260) +) +; + +CREATE TABLE 'MacroStabilityInwardsFailureMechanismMetaEntity' +( + 'MacroStabilityInwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'A' REAL NOT NULL, + 'StochasticSoilModelCollectionSourcePath' TEXT, + 'SurfaceLineCollectionSourcePath' TEXT, + CONSTRAINT 'FK_MacroStabilityInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'AssessmentSectionEntity' +( + 'AssessmentSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ProjectEntityId' INTEGER NOT NULL, + 'HydraulicLocationCalculationCollectionEntity1Id' INTEGER NOT NULL, -- Represents the design water level factorized signaling norm + 'HydraulicLocationCalculationCollectionEntity2Id' INTEGER NOT NULL, -- Represents the design water level signaling norm + 'HydraulicLocationCalculationCollectionEntity3Id' INTEGER NOT NULL, -- Represents the design water level lower limit norm + 'HydraulicLocationCalculationCollectionEntity4Id' INTEGER NOT NULL, -- Represents the design water level factorized lower limit norm + 'HydraulicLocationCalculationCollectionEntity5Id' INTEGER NOT NULL, -- Represents the wave height factorized signaling norm + 'HydraulicLocationCalculationCollectionEntity6Id' INTEGER NOT NULL, -- Represents the wave height signaling norm + 'HydraulicLocationCalculationCollectionEntity7Id' INTEGER NOT NULL, -- Represents the wave height lower limit norm + 'HydraulicLocationCalculationCollectionEntity8Id' INTEGER NOT NULL, -- Represents the wave height factorized lower limit norm + 'Id' TEXT, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'LowerLimitNorm' REAL NOT NULL, + 'SignalingNorm' REAL NOT NULL, + 'NormativeNormType' TINYINT (1) NOT NULL, -- EnumType: 1 = LowerLimit, 2 = Signaling + 'HydraulicDatabaseVersion' TEXT, + 'HydraulicDatabaseLocation' TEXT, + 'Composition' TINYINT (1) NOT NULL, -- Enum: 1 = Dike, 2 = Dune, 3 = DikeAndDune + 'ReferenceLinePointXml' TEXT, + 'Order' INT (4) NOT 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_HydraulicLocationCalculationCollectionEntity3' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity3Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity4' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity4Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity5' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity5Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity6' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity6Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity7' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity7Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity8' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity8Id') 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'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity3Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity3Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity4Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity4Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity5Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity5Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity6Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity6Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity7Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity7Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity8Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity8Id') +) +; + +CREATE TABLE 'MacroStabilityOutwardsFailureMechanismMetaEntity' +( + 'MacroStabilityOutwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'A' REAL NOT NULL, + CONSTRAINT 'FK_MacroStabilityOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'FailureMechanismSectionEntity' +( + 'FailureMechanismSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'FailureMechanismSectionPointXml' TEXT NOT NULL, + CONSTRAINT 'FK_FailureMechanismSectionEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'FailureMechanismEntity' +( + 'FailureMechanismEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'AssessmentSectionEntityId' INTEGER NOT NULL, + 'CalculationGroupEntityId' INTEGER, + '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 = Macrostabiliteit buitenwaarts, 14 = Microstabiliteit, 15 = Wateroverdruk bij asfaltbekleding, 16 = Grasbekleding afschuiven binnentalud, 17 = Sterkte en stabiliteit langsconstructires, 18 = Technische innovaties + 'IsRelevant' TINYINT (1) NOT NULL, -- true or false + 'FailureMechanismSectionCollectionSourcePath' TEXT, + 'InputComments' TEXT, + 'OutputComments' TEXT, + 'NotRelevantComments' TEXT, + 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 'StabilityPointStructuresCalculationEntity' +( + 'StabilityPointStructuresCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'StabilityPointStructureEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ConstructiveStrengthLinearLoadModelMean' REAL, + 'ConstructiveStrengthLinearLoadModelCoefficientOfVariation' REAL, + 'ConstructiveStrengthQuadraticLoadModelMean' REAL, + 'ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation' REAL, + 'BankWidthMean' REAL, + 'BankWidthStandardDeviation' REAL, + 'InsideWaterLevelFailureConstructionMean' REAL, + 'InsideWaterLevelFailureConstructionStandardDeviation' REAL, + 'EvaluationLevel' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'VerticalDistance' REAL, + 'FailureProbabilityRepairClosure' REAL NOT NULL, + 'FailureCollisionEnergyMean' REAL, + 'FailureCollisionEnergyCoefficientOfVariation' REAL, + 'ShipMassMean' REAL, + 'ShipMassCoefficientOfVariation' REAL, + 'ShipVelocityMean' REAL, + 'ShipVelocityCoefficientOfVariation' REAL, + 'LevellingCount' INT (4) NOT NULL, + 'ProbabilityCollisionSecondaryStructure' REAL NOT NULL, + 'FlowVelocityStructureClosableMean' REAL, + 'StabilityLinearLoadModelMean' REAL, + 'StabilityLinearLoadModelCoefficientOfVariation' REAL, + 'StabilityQuadraticLoadModelMean' REAL, + 'StabilityQuadraticLoadModelCoefficientOfVariation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'InflowModelType' TINYINT (1) NOT NULL, -- Enum: 1 = VerticalWall, 2 = LowSill, 3 = FloodedCulvert + 'LoadSchematizationType' TINYINT (1) NOT NULL, -- Enum: 1 = Linear, 2 = Quadratic + 'VolumicWeightWater' REAL, + 'StormDurationMean' REAL, + 'FactorStormDurationOpenStructure' REAL, + 'DrainCoefficientMean' REAL, + 'FailureProbabilityStructureWithErosion' REAL NOT NULL, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 'ClosingStructuresFailureMechanismMetaEntity' +( + 'ClosingStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N2A' INT (4) NOT NULL, + 'ClosingStructureCollectionSourcePath' TEXT, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') 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, + 'SurfaceLineCollectionSourcePath' TEXT, + CONSTRAINT 'FK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityStoneCoverFailureMechanismMetaEntity' +( + 'StabilityStoneCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + 'N' REAL NOT NULL, + CONSTRAINT 'FK_StabilityStoneCoverFailureMechanismMetaEntity_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, + 'Name' VARCHAR (260), + '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, + 'AssessmentSectionEntityId' INTEGER NOT NULL, + 'LocationId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'LocationX' REAL, + 'LocationY' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_HydraulicLocationEntity_AssessmentSectionEntity' FOREIGN KEY ('AssessmentSectionEntityId') REFERENCES 'AssessmentSectionEntity' ('AssessmentSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingCalculationEntity' +( + 'PipingCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'SurfaceLineEntityId' INTEGER, + 'PipingStochasticSoilProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'EntryPointL' REAL, + 'ExitPointL' REAL, + 'PhreaticLevelExitMean' REAL, + 'PhreaticLevelExitStandardDeviation' REAL, + 'DampingFactorExitMean' REAL, + 'DampingFactorExitStandardDeviation' REAL, + 'RelevantForScenario' TINYINT (1) NOT NULL, -- true or false + 'ScenarioContribution' REAL, + 'AssessmentLevel' REAL, + 'UseAssessmentLevelManualInput' TINYINT (1) NOT NULL, -- true or false + CONSTRAINT 'FK_PipingCalculationEntity_CalculationGroupEntity' FOREIGN KEY ('CalculationGroupEntityId') REFERENCES 'CalculationGroupEntity' ('CalculationGroupEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_HydraulicLocationEntity' FOREIGN KEY ('HydraulicLocationEntityId') REFERENCES 'HydraulicLocationEntity' ('HydraulicLocationEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_PipingStochasticSoilProfileEntity' FOREIGN KEY ('PipingStochasticSoilProfileEntityId') REFERENCES 'PipingStochasticSoilProfileEntity' ('PipingStochasticSoilProfileEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsFailureMechanismMetaEntity' +( + 'GrassCoverErosionInwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' REAL NOT NULL, + 'DikeProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresFailureMechanismMetaEntity' +( + 'StabilityPointStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' REAL NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + 'StabilityPointStructureCollectionSourcePath' TEXT, + CONSTRAINT 'FK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsCalculationEntity' +( + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'HydraulicLocationEntityId' INTEGER, + 'DikeProfileEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'Orientation' REAL, + 'CriticalFlowRateMean' REAL, + 'CriticalFlowRateStandardDeviation' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'DikeHeightCalculationType' TINYINT (1) NOT NULL, -- Enum: 1 = NoCalculation, 2 = CalculateByAssessmentSectionNorm, 3 = CalculateByProfileSpecificRequiredProbability + 'DikeHeight' REAL, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'OvertoppingRateCalculationType' TINYINT (1) NOT NULL, -- Enum: 1 = NoCalculation, 2 = CalculateByAssessmentSectionNorm, 3 = CalculateByProfileSpecificRequiredProbability + 'ShouldDikeHeightIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldOvertoppingRateIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldOvertoppingOutputIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 'DuneErosionFailureMechanismMetaEntity' +( + 'DuneErosionFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'DuneLocationCalculationCollectionEntity1Id' INTEGER NOT NULL, -- Represents the calculations for the failure mechanism specific factorized signaling norm + 'DuneLocationCalculationCollectionEntity2Id' INTEGER NOT NULL, -- Represents the calculations for the failure mechanism specific signaling norm + 'DuneLocationCalculationCollectionEntity3Id' INTEGER NOT NULL, -- Represents the calculations for the failure mechanism specific lower limit norm + 'DuneLocationCalculationCollectionEntity4Id' INTEGER NOT NULL, -- Represents the calculations for the lower limit norm + 'DuneLocationCalculationCollectionEntity5Id' INTEGER NOT NULL, -- Represents the calculations for the factorized lower limit norm + 'N' REAL NOT NULL, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity1' FOREIGN KEY ('DuneLocationCalculationCollectionEntity1Id') REFERENCES 'DuneLocationCalculationCollectionEntity' ('DuneLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity2' FOREIGN KEY ('DuneLocationCalculationCollectionEntity2Id') REFERENCES 'DuneLocationCalculationCollectionEntity' ('DuneLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity3' FOREIGN KEY ('DuneLocationCalculationCollectionEntity3Id') REFERENCES 'DuneLocationCalculationCollectionEntity' ('DuneLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity4' FOREIGN KEY ('DuneLocationCalculationCollectionEntity4Id') REFERENCES 'DuneLocationCalculationCollectionEntity' ('DuneLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity5' FOREIGN KEY ('DuneLocationCalculationCollectionEntity5Id') REFERENCES 'DuneLocationCalculationCollectionEntity' ('DuneLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_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, + 'HydraulicLocationCalculationCollectionEntity1Id' INTEGER NOT NULL, -- Represents the design water level failure mechanism specific factorized signaling norm + 'HydraulicLocationCalculationCollectionEntity2Id' INTEGER NOT NULL, -- Represents the design water level failure mechanism specific signaling norm + 'HydraulicLocationCalculationCollectionEntity3Id' INTEGER NOT NULL, -- Represents the design water level failure mechanism specific lower limit norm + 'HydraulicLocationCalculationCollectionEntity4Id' INTEGER NOT NULL, -- Represents the wave height failure mechanism specific factorized signaling norm + 'HydraulicLocationCalculationCollectionEntity5Id' INTEGER NOT NULL, -- Represents the wave height failure mechanism specific signaling norm + 'HydraulicLocationCalculationCollectionEntity6Id' INTEGER NOT NULL, -- Represents the wave height failure mechanism specific lower limit norm + 'N' REAL NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity1' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity1Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity2' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity2Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity3' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity3Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity4' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity4Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity5' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity5Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity6' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity6Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity1Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity1Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity2Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity2Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity3Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity3Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity4Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity4Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity5Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity5Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity6Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity6Id') +) +; + +CREATE TABLE 'PipingSoilLayerEntity' +( + 'PipingSoilLayerEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'PipingSoilProfileEntityId' INTEGER NOT NULL, + 'Top' REAL, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- ARGB value of Color. + 'MaterialName' TEXT NOT NULL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelDeviation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'DiameterD70Mean' REAL, + 'DiameterD70CoefficientOfVariation' REAL, + 'PermeabilityMean' REAL, + 'PermeabilityCoefficientOfVariation' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_PipingSoilLayerEntity_SoilProfileEntity' FOREIGN KEY ('PipingSoilProfileEntityId') REFERENCES 'PipingSoilProfileEntity' ('PipingSoilProfileEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'HeightStructuresFailureMechanismMetaEntity' +( + 'HeightStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' REAL NOT NULL, + 'HeightStructureCollectionSourcePath' TEXT, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingSoilProfileEntity' +( + 'PipingSoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Bottom' REAL, + '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 '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, + 'ReferenceLineIntersectionY' REAL, + '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, + 'Y' REAL, + 'Z' REAL, + CONSTRAINT 'FK_SurfaceLinePointEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingCalculationOutputEntity' +( + 'PipingCalculationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'PipingCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'HeaveFactorOfSafety' REAL, + 'HeaveZValue' REAL, + 'UpliftFactorOfSafety' REAL, + 'UpliftZValue' REAL, + 'SellmeijerFactorOfSafety' REAL, + 'SellmeijerZValue' REAL, + 'UpliftEffectiveStress' REAL, + 'HeaveGradient' REAL, + 'SellmeijerCreepCoefficient' REAL, + 'SellmeijerCriticalFall' REAL, + 'SellmeijerReducedFall' REAL, + CONSTRAINT 'FK_PipingCalculationOutputEntity_PipingCalculationEntity' FOREIGN KEY ('PipingCalculationEntityId') REFERENCES 'PipingCalculationEntity' ('PipingCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_PipingCalculationEntity' UNIQUE ('PipingCalculationEntityId') +) +; + +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 'PipingSectionResultEntity' +( + 'PipingSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_PipingSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsSectionResultEntity' +( + 'GrassCoverErosionInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Applicable + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_GrassCoverErosionInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionInwardsSectionResultEntity_GrassCoverErosionInwardsCalculationEntity' FOREIGN KEY ('GrassCoverErosionInwardsCalculationEntityId') REFERENCES 'GrassCoverErosionInwardsCalculationEntity' ('GrassCoverErosionInwardsCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'HeightStructuresSectionResultEntity' +( + 'HeightStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'HeightStructuresCalculationEntityId' INTEGER, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible 4 = AssessFurther + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None 2 = ProbabilityNegligible 3 = Probability 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_HeightStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_HeightStructuresSectionResultEntity_HeightStructuresCalculationEntity' FOREIGN KEY ('HeightStructuresCalculationEntityId') REFERENCES 'HeightStructuresCalculationEntity' ('HeightStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'StrengthStabilityLengthwiseConstructionSectionResultEntity' +( + 'StrengthStabilityLengthwiseConstructionSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_StrengthStabilityLengthwiseConstructionSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'TechnicalInnovationSectionResultEntity' +( + 'TechnicalInnovationSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_TechnicalInnovationSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaterPressureAsphaltCoverSectionResultEntity' +( + 'WaterPressureAsphaltCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_WaterPressureAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'ClosingStructuresSectionResultEntity' +( + 'ClosingStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'ClosingStructuresCalculationEntityId' INTEGER, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_ClosingStructuresSectionResultEntity_ClosingStructuresCalculationEntity' FOREIGN KEY ('ClosingStructuresCalculationEntityId') REFERENCES 'ClosingStructuresCalculationEntity' ('ClosingStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_ClosingStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsSectionResultEntity' +( + 'GrassCoverErosionOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResultForFactorizedSignalingNorm' TINYINT (1) NOT NULL, -- Detailed result Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForSignalingNorm' TINYINT (1) NOT NULL, -- Detailed result Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForMechanismSpecificLowerLimitNorm' TINYINT (1) NOT NULL, -- Detailed result Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForLowerLimitNorm' TINYINT (1) NOT NULL, -- Detailed result Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForFactorizedLowerLimitNorm' TINYINT (1) NOT NULL, -- Detailed result Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Iv, 3 = IIv, 4 = IIIv, 5 = IVv, 6 = Vv, 7 = VIv, 8 = VIIv + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable 3 = Iv, 4 = IIv, 5 = IIIv, 6 = IVv, 7 = Vv, 8 = VIv, 9 = VIIv + CONSTRAINT 'FK_GrassCoverErosionOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverSlipOffInwardsSectionResultEntity' +( + 'GrassCoverSlipOffInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_GrassCoverSlipOffInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverSlipOffOutwardsSectionResultEntity' +( + 'GrassCoverSlipOffOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_GrassCoverSlipOffOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSectionResultEntity' +( + 'MacroStabilityInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_MacroStabilityInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityOutwardsSectionResultEntity' +( + 'MacroStabilityOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'DetailedAssessmentProbability' REAL, + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = Sufficient, 5 = Insufficient, 6 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_MacroStabilityOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' +( + 'WaveImpactAsphaltCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + 'DeltaL' REAL NOT NULL, + CONSTRAINT 'FK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaveImpactAsphaltCoverSectionResultEntity' +( + 'WaveImpactAsphaltCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResultForFactorizedSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForMechanismSpecificLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForFactorizedLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Iv, 3 = IIv, 4 = IIIv, 5 = IVv, 6 = Vv, 7 = VIv, 8 = VIIv + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable 3 = Iv, 4 = IIv, 5 = IIIv, 6 = IVv, 7 = Vv, 8 = VIv, 9 = VIIv + CONSTRAINT 'FK_WaveImpactAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MicrostabilitySectionResultEntity' +( + 'MicrostabilitySectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_MicrostabilitySectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingStructureSectionResultEntity' +( + 'PipingStructureSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_PipingStructureSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'DuneErosionSectionResultEntity' +( + 'DuneErosionSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Applicable + 'DetailedAssessmentResultForFactorizedSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForMechanismSpecificLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForFactorizedLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Iv, 3 = IIv, 4 = IIIv, 5 = IVv, 6 = Vv, 7 = VIv, 8 = VIIv + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable 3 = Iv, 4 = IIv, 5 = IIIv, 6 = IVv, 7 = Vv, 8 = VIv, 9 = VIIv + CONSTRAINT 'FK_DuneErosionSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityStoneCoverSectionResultEntity' +( + 'StabilityStoneCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Applicable + 'DetailedAssessmentResultForFactorizedSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForMechanismSpecificLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForFactorizedLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Iv, 3 = IIv, 4 = IIIv, 5 = IVv, 6 = Vv, 7 = VIv, 8 = VIIv + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable 3 = Iv, 4 = IIv, 5 = IIIv, 6 = IVv, 7 = Vv, 8 = VIv, 9 = VIIv + CONSTRAINT 'FK_StabilityStoneCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresSectionResultEntity' +( + 'StabilityPointStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'StabilityPointStructuresCalculationEntityId' INTEGER, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Applicable + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_StabilityPointStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_StabilityPointStructuresSectionResultEntity_StabilityPointStructuresCalculationEntity' FOREIGN KEY ('StabilityPointStructuresCalculationEntityId') REFERENCES 'StabilityPointStructuresCalculationEntity' ('StabilityPointStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +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, + 'BreakWaterType' TINYINT (1), -- Enum: 1 = Wall 2 = Caisson 3 = Dam + 'BreakWaterHeight' REAL, + 'ForeshoreXml' TEXT NOT NULL, + 'DikeGeometryXml' TEXT NOT NULL, + 'DikeHeight' REAL, + 'X' REAL, + 'Y' REAL, + 'X0' REAL, + '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 'GrassCoverErosionInwardsOutputEntity' +( + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'IsOvertoppingDominant' TINYINT (1) NOT NULL, -- true or false + 'WaveHeight' REAL, + 'Reliability' REAL, + 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 'ForeshoreProfileEntity' +( + 'ForeshoreProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Id' VARCHAR (260) NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'Orientation' REAL, + 'BreakWaterType' TINYINT (1), -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'GeometryXml' TEXT NOT NULL, + 'X' REAL, + 'Y' REAL, + 'X0' REAL, + '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 'StabilityStoneCoverWaveConditionsCalculationEntity' +( + 'StabilityStoneCoverWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 'CategoryType' TINYINT (1) NOT NULL, -- Enum: 1 = FactorizedSignalingNorm, 2 = SignalingNorm, 3 = LowerLimitNorm, 4 = FactorizedLowerLimitNorm + 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_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, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' +( + 'WaveImpactAsphaltCoverWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 'CategoryType' TINYINT (1) NOT NULL, -- Enum: 1 = FactorizedSignalingNorm, 2 = SignalingNorm, 3 = LowerLimitNorm, 4 = FactorizedLowerLimitNorm + 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_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, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 TABLE 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' +( + 'GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 'CategoryType' TINYINT (1) NOT NULL, -- Enum: 1 = MechanismSpecificFactorizedSignalingNorm, 2 = MechanismSpecificSignalingNorm, 3 = MechanismSpecificLowerLimitNorm, 4 = LowerLimitNorm, 5 = FactorizedLowerLimitNorm + 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_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, + 'WaterLevel' REAL, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'HeightStructuresOutputEntity' +( + 'HeightStructuresOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HeightStructuresCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'Reliability' REAL, + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'FailureProbabilityStructureWithErosion' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 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, + 'HeightStructureEntityId' INTEGER, + 'ForeshoreProfileEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'StructureNormalOrientation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FailureProbabilityStructureWithErosion' REAL NOT NULL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'StormDurationMean' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'DeviationWaveDirection' REAL, + '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, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'LevelCrestStructureNotClosingMean' REAL, + 'LevelCrestStructureNotClosingStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ProbabilityOpenStructureBeforeFlooding' REAL, + 'FailureProbabilityOpenStructure' REAL, + 'IdenticalApertures' INT (4) NOT NULL, + 'FailureProbabilityReparation' REAL, + '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, + 'HydraulicLocationEntityId' INTEGER, + 'ClosingStructureEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (255), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'LevelCrestStructureNotClosingMean' REAL, + 'LevelCrestStructureNotClosingStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + '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, + 'DrainCoefficientMean' REAL, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'StormDurationMean' REAL, + 'FactorStormDurationOpenStructure' REAL, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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, + 'Reliability' REAL, + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ConstructiveStrengthLinearLoadModelMean' REAL, + 'ConstructiveStrengthLinearLoadModelCoefficientOfVariation' REAL, + 'ConstructiveStrengthQuadraticLoadModelMean' REAL, + 'ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation' REAL, + 'BankWidthMean' REAL, + 'BankWidthStandardDeviation' REAL, + 'InsideWaterLevelFailureConstructionMean' REAL, + 'InsideWaterLevelFailureConstructionStandardDeviation' REAL, + 'EvaluationLevel' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'VerticalDistance' REAL, + 'FailureProbabilityRepairClosure' REAL, + 'FailureCollisionEnergyMean' REAL, + 'FailureCollisionEnergyCoefficientOfVariation' REAL, + 'ShipMassMean' REAL, + 'ShipMassCoefficientOfVariation' REAL, + 'ShipVelocityMean' REAL, + 'ShipVelocityCoefficientOfVariation' REAL, + 'LevellingCount' INT (4) NOT NULL, + 'ProbabilityCollisionSecondaryStructure' REAL, + 'FlowVelocityStructureClosableMean' REAL, + 'StabilityLinearLoadModelMean' REAL, + 'StabilityLinearLoadModelCoefficientOfVariation' REAL, + 'StabilityQuadraticLoadModelMean' REAL, + 'StabilityQuadraticLoadModelCoefficientOfVariation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + '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 'StabilityPointStructuresOutputEntity' +( + 'StabilityPointStructuresOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'StabilityPointStructuresCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'Reliability' REAL, + 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 'HydraulicLocationOutputEntity' +( + 'HydraulicLocationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HydraulicLocationCalculationEntityId' INTEGER, + 'GeneralResultSubMechanismIllustrationPointEntityId' INTEGER, + 'Result' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'DuneLocationEntity' +( + 'DuneLocationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'LocationId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'LocationX' REAL, + 'LocationY' REAL, + 'CoastalAreaId' INT (4) NOT NULL, + 'Offset' REAL, + 'Orientation' REAL, + 'D50' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_DuneLocationEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'DuneLocationCalculationOutputEntity' +( + 'DuneLocationCalculationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'DuneLocationCalculationEntityId' INTEGER NOT NULL, + 'WaterLevel' REAL, + 'WaveHeight' REAL, + 'WavePeriod' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 '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 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' +( + 'GrassCoverErosionInwardsOvertoppingRateOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'OvertoppingRate' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'GeneralResultSubMechanismIllustrationPointEntity' +( + 'GeneralResultSubMechanismIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GoverningWindDirectionName' TEXT NOT NULL, + 'GoverningWindDirectionAngle' REAL 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 'IllustrationPointResultEntity' +( + 'IllustrationPointResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'SubMechanismIllustrationPointEntityId' INTEGER NOT NULL, + 'Description' 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 '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 '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 'GeneralResultFaultTreeIllustrationPointEntity' +( + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GoverningWindDirectionName' TEXT NOT NULL, + 'GoverningWindDirectionAngle' REAL NOT NULL +) +; + +CREATE TABLE 'FaultTreeIllustrationPointEntity' +( + 'FaultTreeIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ParentFaultTreeIllustrationPointEntityId' INTEGER, + '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 '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 '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 '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 'SubMechanismIllustrationPointStochastEntity' +( + 'SubMechanismIllustrationPointStochastEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'SubMechanismIllustrationPointEntityId' INTEGER NOT NULL, + 'Name' 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 '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 'MacroStabilityInwardsCalculationEntity' +( + 'MacroStabilityInwardsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'SurfaceLineEntityId' INTEGER, + 'MacroStabilityInwardsStochasticSoilProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comment' TEXT, + 'RelevantForScenario' TINYINT (1) NOT NULL, -- true or false + 'ScenarioContribution' REAL, + 'AssessmentLevel' REAL, + 'UseAssessmentLevelManualInput' TINYINT (1) NOT NULL, -- true or false + 'SlipPlaneMinimumDepth' REAL, + 'SlipPlaneMinimumLength' REAL, + 'MaximumSliceWidth' REAL, + '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, + 'TangentLineZBottom' REAL, + 'TangentLineNumber' INT (4) NOT NULL, + 'LeftGridXLeft' REAL, + 'LeftGridXRight' REAL, + 'LeftGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'LeftGridZTop' REAL, + 'LeftGridZBottom' REAL, + 'LeftGridNrOfVerticalPoints' INT (4) NOT NULL, + 'RightGridXLeft' REAL, + 'RightGridXRight' REAL, + 'RightGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'RightGridZTop' REAL, + 'RightGridZBottom' REAL, + 'RightGridNrOfVerticalPoints' INT (4) NOT NULL, + 'DikeSoilScenario' TINYINT (1) NOT NULL, -- Enumtype: 1 = ClayDikeOnClay, 2 = SandDikeOnClay, 3 = ClayDikeOnSand, 4 = SandDikeOnSand + 'WaterLevelRiverAverage' REAL, + 'DrainageConstructionPresent' TINYINT (1) NOT NULL, -- true or false + 'DrainageConstructionCoordinateX' REAL, + 'DrainageConstructionCoordinateZ' REAL, + 'MinimumLevelPhreaticLineAtDikeTopRiver' REAL, + 'MinimumLevelPhreaticLineAtDikeTopPolder' REAL, + 'AdjustPhreaticLine3And4ForUplift' TINYINT (1) NOT NULL, -- true or false + 'LeakageLengthOutwardsPhreaticLine3' REAL, + 'LeakageLengthInwardsPhreaticLine3' REAL, + 'LeakageLengthOutwardsPhreaticLine4' REAL, + 'LeakageLengthInwardsPhreaticLine4' REAL, + 'PiezometricHeadPhreaticLine2Outwards' REAL, + 'PiezometricHeadPhreaticLine2Inwards' REAL, + 'LocationInputExtremeWaterLevelPolder' REAL, + 'LocationInputExtremeUseDefaultOffsets' TINYINT (1) NOT NULL, -- true or false + 'LocationInputExtremePhreaticLineOffsetBelowDikeTopAtRiver' REAL, + 'LocationInputExtremePhreaticLineOffsetBelowDikeTopAtPolder' REAL, + 'LocationInputExtremePhreaticLineOffsetBelowShoulderBaseInside' REAL, + 'LocationInputExtremePhreaticLineOffsetDikeToeAtPolder' REAL, + 'LocationInputExtremePenetrationLength' REAL, + 'LocationInputDailyWaterLevelPolder' REAL, + 'LocationInputDailyUseDefaultOffsets' TINYINT (1) NOT NULL, -- true or false + 'LocationInputDailyPhreaticLineOffsetBelowDikeTopAtRiver' REAL, + 'LocationInputDailyPhreaticLineOffsetBelowDikeTopAtPolder' REAL, + 'LocationInputDailyPhreaticLineOffsetBelowShoulderBaseInside' REAL, + 'LocationInputDailyPhreaticLineOffsetDikeToeAtPolder' REAL, + 'CreateZones' TINYINT (1) NOT NULL, -- true or false + 'ZoningBoundariesDeterminationType' TINYINT (1) NOT NULL, -- Enumtype: 1 = Automatic 2 = Manual + 'ZoneBoundaryLeft' REAL, + 'ZoneBoundaryRight' REAL, + 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, + 'ZValue' REAL, + 'ForbiddenZonesXEntryMin' REAL, + 'ForbiddenZonesXEntryMax' REAL, + 'SlidingCurveLeftSlidingCircleCenterX' REAL, + 'SlidingCurveLeftSlidingCircleCenterY' REAL, + 'SlidingCurveLeftSlidingCircleRadius' REAL, + 'SlidingCurveLeftSlidingCircleIsActive' TINYINT (1) NOT NULL, -- true or false + 'SlidingCurveLeftSlidingCircleNonIteratedForce' REAL, + 'SlidingCurveLeftSlidingCircleIteratedForce' REAL, + 'SlidingCurveLeftSlidingCircleDrivingMoment' REAL, + 'SlidingCurveLeftSlidingCircleResistingMoment' REAL, + 'SlidingCurveRightSlidingCircleCenterX' REAL, + 'SlidingCurveRightSlidingCircleCenterY' REAL, + 'SlidingCurveRightSlidingCircleRadius' REAL, + 'SlidingCurveRightSlidingCircleIsActive' TINYINT (1) NOT NULL, -- true or false + 'SlidingCurveRightSlidingCircleNonIteratedForce' REAL, + 'SlidingCurveRightSlidingCircleIteratedForce' REAL, + 'SlidingCurveRightSlidingCircleDrivingMoment' REAL, + 'SlidingCurveRightSlidingCircleResistingMoment' REAL, + 'SlidingCurveNonIteratedHorizontalForce' REAL, + 'SlidingCurveIteratedHorizontalForce' REAL, + 'SlidingCurveSliceXML' TEXT NOT NULL, -- XML representation of MacroStabilityInwardsSlice + 'SlipPlaneLeftGridXLeft' REAL, + 'SlipPlaneLeftGridXRight' REAL, + 'SlipPlaneLeftGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'SlipPlaneLeftGridZTop' REAL, + 'SlipPlaneLeftGridZBottom' REAL, + 'SlipPlaneLeftGridNrOfVerticalPoints' INT (4) NOT NULL, + 'SlipPlaneRightGridXLeft' REAL, + 'SlipPlaneRightGridXRight' REAL, + 'SlipPlaneRightGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'SlipPlaneRightGridZTop' REAL, + 'SlipPlaneRightGridZBottom' REAL, + '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, + 'Y' REAL, + 'Z' REAL, + CONSTRAINT 'FK_MacroStabilityInwardsCharacteristicPointEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilLayerOneDEntity' +( + 'MacroStabilityInwardsSoilLayerOneDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER NOT NULL, + 'Top' REAL, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- 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, + 'AbovePhreaticLevelCoefficientOfVariation' REAL, + 'AbovePhreaticLevelShift' REAL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelCoefficientOfVariation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'CohesionMean' REAL, + 'CohesionCoefficientOfVariation' REAL, + 'FrictionAngleMean' REAL, + 'FrictionAngleCoefficientOfVariation' REAL, + 'ShearStrengthRatioMean' REAL, + 'ShearStrengthRatioCoefficientOfVariation' REAL, + 'StrengthIncreaseExponentMean' REAL, + 'StrengthIncreaseExponentCoefficientOfVariation' REAL, + 'PopMean' REAL, + 'PopCoefficientOfVariation' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_MacroStabilityInwardsSoilLayerOneDEntity_MacroStabilityInwardsSoilProfileOneDEntity' FOREIGN KEY ('MacroStabilityInwardsSoilProfileOneDEntityId') REFERENCES 'MacroStabilityInwardsSoilProfileOneDEntity' ('MacroStabilityInwardsSoilProfileOneDEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilProfileOneDEntity' +( + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Name' TEXT NOT NULL, + 'Bottom' REAL +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilLayerTwoDEntity' +( + 'MacroStabilityInwardsSoilLayerTwoDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ParentMacroStabilityInwardsSoilLayerTwoDEntityId' INTEGER, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- 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, + 'AbovePhreaticLevelCoefficientOfVariation' REAL, + 'AbovePhreaticLevelShift' REAL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelCoefficientOfVariation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'CohesionMean' REAL, + 'CohesionCoefficientOfVariation' REAL, + 'FrictionAngleMean' REAL, + 'FrictionAngleCoefficientOfVariation' REAL, + 'ShearStrengthRatioMean' REAL, + 'ShearStrengthRatioCoefficientOfVariation' REAL, + 'StrengthIncreaseExponentMean' REAL, + 'StrengthIncreaseExponentCoefficientOfVariation' REAL, + 'PopMean' REAL, + 'PopCoefficientOfVariation' REAL, + '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 'MacroStabilityInwardsSoilProfileTwoDEntity' +( + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Name' TEXT NOT NULL +) +; + +CREATE TABLE 'MacroStabilityInwardsStochasticSoilProfileEntity' +( + 'MacroStabilityInwardsStochasticSoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'StochasticSoilModelEntityId' INTEGER NOT NULL, + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER, + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER, + '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 'MacroStabilityInwardsPreconsolidationStressEntity' +( + 'MacroStabilityInwardsPreconsolidationStressEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER NOT NULL, + 'CoordinateX' REAL NOT NULL, + 'CoordinateZ' REAL NOT NULL, + 'PreconsolidationStressMean' REAL, + 'PreconsolidationStressCoefficientOfVariation' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_MacroStabilityInwardsPreconsolidationStressEntity_MacroStabilityInwardsSoilProfileTwoDEntity' FOREIGN KEY ('MacroStabilityInwardsSoilProfileTwoDEntityId') REFERENCES 'MacroStabilityInwardsSoilProfileTwoDEntity' ('MacroStabilityInwardsSoilProfileTwoDEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +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 'HydraulicLocationCalculationEntity' +( + 'HydraulicLocationCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HydraulicLocationEntityId' INTEGER NOT NULL, + 'HydraulicLocationCalculationCollectionEntityId' INTEGER NOT NULL, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- True or false + CONSTRAINT 'FK_HydraulicLocationCalculationEntity_HydraulicLocationCalculationCollectionEntity' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntityId') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_HydraulicLocationCalculationEntity_HydraulicLocationEntity' FOREIGN KEY ('HydraulicLocationEntityId') REFERENCES 'HydraulicLocationEntity' ('HydraulicLocationEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'HydraulicLocationCalculationCollectionEntity' +( + 'HydraulicLocationCalculationCollectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT +) +; + +CREATE TABLE 'DuneLocationCalculationCollectionEntity' +( + 'DuneLocationCalculationCollectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT +) +; + +CREATE TABLE 'DuneLocationCalculationEntity' +( + 'DuneLocationCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'DuneLocationEntityId' INTEGER, + 'DuneLocationCalculationCollectionEntityId' INTEGER, + CONSTRAINT 'FK_DuneLocationCalculationEntity_DuneLocationCalculationCollectionEntity' FOREIGN KEY ('DuneLocationCalculationCollectionEntityId') REFERENCES 'DuneLocationCalculationCollectionEntity' ('DuneLocationCalculationCollectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_DuneLocationCalculationEntity_DuneLocationEntity' FOREIGN KEY ('DuneLocationEntityId') REFERENCES 'DuneLocationEntity' ('DuneLocationEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +/* Create Indexes and Triggers */ + +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_MacroStabilityInwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'MacroStabilityInwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity1' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity1Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity2' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity2Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity3' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity3Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity4' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity4Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity5' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity5Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity6' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity6Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity7' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity7Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity8' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity8Id' 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 + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity3Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity4Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity5Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity6Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity7Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity8Id; +END; +; + +CREATE INDEX 'IXFK_MacroStabilityOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'MacroStabilityOutwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismSectionEntity_FailureMechanismEntity' + ON 'FailureMechanismSectionEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismEntity_AssessmentSectionEntity' + ON 'FailureMechanismEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismEntity_CalculationGroupEntity' + ON 'FailureMechanismEntity' ('CalculationGroupEntityId' 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_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'ClosingStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'PipingFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'StabilityStoneCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_CalculationGroupEntity_CalculationGroupEntity' + ON 'CalculationGroupEntity' ('ParentCalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_HydraulicLocationEntity_AssessmentSectionEntity' + ON 'HydraulicLocationEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_PipingStochasticSoilProfileEntity' + ON 'PipingCalculationEntity' ('PipingStochasticSoilProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_SurfaceLineEntity' + ON 'PipingCalculationEntity' ('SurfaceLineEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_HydraulicLocationEntity' + ON 'PipingCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_CalculationGroupEntity' + ON 'PipingCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'GrassCoverErosionInwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'StabilityPointStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_CalculationGroupEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_DikeProfileEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('DikeProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_HydraulicLocationEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity1' + ON 'DuneErosionFailureMechanismMetaEntity' ('DuneLocationCalculationCollectionEntity1Id' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity2' + ON 'DuneErosionFailureMechanismMetaEntity' ('DuneLocationCalculationCollectionEntity2Id' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity3' + ON 'DuneErosionFailureMechanismMetaEntity' ('DuneLocationCalculationCollectionEntity3Id' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity4' + ON 'DuneErosionFailureMechanismMetaEntity' ('DuneLocationCalculationCollectionEntity4Id' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity5' + ON 'DuneErosionFailureMechanismMetaEntity' ('DuneLocationCalculationCollectionEntity5Id' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'DuneErosionFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; +CREATE TRIGGER [TR_AfterDeleteDuneErosionFailureMechanismMetaEntity_RemoveDuneLocationCalculationCollectionEntities] + AFTER DELETE + ON DuneErosionFailureMechanismMetaEntity + FOR EACH ROW +BEGIN + DELETE + FROM DuneLocationCalculationCollectionEntity + WHERE DuneLocationCalculationCollectionEntityId IS OLD.DuneLocationCalculationCollectionEntity1Id + OR DuneLocationCalculationCollectionEntityId IS OLD.DuneLocationCalculationCollectionEntity2Id + OR DuneLocationCalculationCollectionEntityId IS OLD.DuneLocationCalculationCollectionEntity3Id + OR DuneLocationCalculationCollectionEntityId IS OLD.DuneLocationCalculationCollectionEntity4Id + OR DuneLocationCalculationCollectionEntityId IS OLD.DuneLocationCalculationCollectionEntity5Id; +END; +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity1' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity1Id' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity2' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity2Id' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity3' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity3Id' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity4' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity4Id' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity5' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity5Id' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity6' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity6Id' ASC) +; +CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionOutwardsFailureMechanismMetaEntity_RemoveHydraulicLocationCalculationCollectionEntities] + AFTER DELETE + ON GrassCoverErosionOutwardsFailureMechanismMetaEntity + FOR EACH ROW +BEGIN + DELETE + FROM HydraulicLocationCalculationCollectionEntity + WHERE HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity1Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity2Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity3Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity4Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity5Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity6Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity7Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity8Id; +END; +; + +CREATE INDEX 'IXFK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'HeightStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingStochasticSoilProfileEntity_SoilProfileEntity' + ON 'PipingStochasticSoilProfileEntity' ('PipingSoilProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingStochasticSoilProfileEntity_StochasticSoilModelEntity' + ON 'PipingStochasticSoilProfileEntity' ('StochasticSoilModelEntityId' ASC) +; + +CREATE INDEX 'IXFK_StochasticSoilModelEntity_FailureMechanismEntity' + ON 'StochasticSoilModelEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_SurfaceLineEntity_FailureMechanismEntity' + ON 'SurfaceLineEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_SurfaceLinePointEntity_SurfaceLineEntity' + ON 'PipingCharacteristicPointEntity' ('SurfaceLineEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationOutputEntity_PipingCalculationEntity' + ON 'PipingCalculationOutputEntity' ('PipingCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingStructureFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'PipingStructureFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingSectionResultEntity_FailureMechanismSectionEntity' + ON 'PipingSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverErosionInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsSectionResultEntity_GrassCoverErosionInwardsCalculationEntity' + ON 'GrassCoverErosionInwardsSectionResultEntity' ('GrassCoverErosionInwardsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'HeightStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresSectionResultEntity_HeightStructuresCalculationEntity' + ON 'HeightStructuresSectionResultEntity' ('HeightStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_StrengthStabilityLengthwiseConstructionSectionResultEntity_FailureMechanismSectionEntity' + ON 'StrengthStabilityLengthwiseConstructionSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_TechnicalInnovationSectionResultEntity_FailureMechanismSectionEntity' + ON 'TechnicalInnovationSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaterPressureAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'WaterPressureAsphaltCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresSectionResultEntity_ClosingStructuresCalculationEntity' + ON 'ClosingStructuresSectionResultEntity' ('ClosingStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'ClosingStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverErosionOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverSlipOffInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverSlipOffInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverSlipOffOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverSlipOffOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MacroStabilityInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'MacroStabilityInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MacroStabilityOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'MacroStabilityOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'WaveImpactAsphaltCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MicrostabilitySectionResultEntity_FailureMechanismSectionEntity' + ON 'MicrostabilitySectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingStructureSectionResultEntity_FailureMechanismSectionEntity' + ON 'PipingStructureSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionSectionResultEntity_FailureMechanismSectionEntity' + ON 'DuneErosionSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'StabilityStoneCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityPointStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'StabilityPointStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityPointStructuresSectionResultEntity_StabilityPointStructuresCalculationEntity' + ON 'StabilityPointStructuresSectionResultEntity' ('StabilityPointStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_DikeProfileEntity_FailureMechanismEntity' + ON 'DikeProfileEntity' ('FailureMechanismEntityId' ASC) +; + +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_ForeshoreProfileEntity_FailureMechanismEntity' + ON 'ForeshoreProfileEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsOutputEntity_StabilityStoneCoverWaveConditionsCalculationEntity' + ON 'StabilityStoneCoverWaveConditionsOutputEntity' ('StabilityStoneCoverWaveConditionsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsOutputEntity_WaveImpactAsphaltCoverWaveConditionsCalculationEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsOutputEntity' ('WaveImpactAsphaltCoverWaveConditionsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsOutputEntity_GrassCoverErosionOutwardsWaveConditionsCalculationEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' ('GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' 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_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_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_StabilityPointStructureEntity_FailureMechanismEntity' + ON 'StabilityPointStructureEntity' ('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_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_DuneLocationEntity_FailureMechanismEntity' + ON 'DuneLocationEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneLocationCalculationOutputEntity_DuneLocationCalculationEntity' + ON 'DuneLocationCalculationOutputEntity' ('DuneLocationCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_BackgroundDataEntity_AssessmentSectionEntity' + ON 'BackgroundDataEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_BackgroundDataMetaEntity_BackgroundDataEntity' + ON 'BackgroundDataMetaEntity' ('BackgroundDataEntityId' ASC) +; + +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_IllustrationPointResultEntity_SubMechanismIllustrationPointEntity' + ON 'IllustrationPointResultEntity' ('SubMechanismIllustrationPointEntityId' ASC) +; + +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_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_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_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_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_SubMechanismIllustrationPointStochast_SubMechanismIllustrationPointEntity' + ON 'SubMechanismIllustrationPointStochastEntity' ('SubMechanismIllustrationPointEntityId' ASC) +; + +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_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_MacroStabilityInwardsSoilLayerOneDEntity_MacroStabilityInwardsSoilProfileOneDEntity' + ON 'MacroStabilityInwardsSoilLayerOneDEntity' ('MacroStabilityInwardsSoilProfileOneDEntityId' ASC) +; + +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 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_HydraulicLocationCalculationEntity_HydraulicLocationCalculationCollectionEntity' + ON 'HydraulicLocationCalculationEntity' ('HydraulicLocationCalculationCollectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_HydraulicLocationCalculationEntity_HydraulicLocationEntity' + ON 'HydraulicLocationCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneLocationCalculationEntity_DuneLocationCalculationCollectionEntity' + ON 'DuneLocationCalculationEntity' ('DuneLocationCalculationCollectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneLocationCalculationEntity_DuneLocationEntity' + ON 'DuneLocationCalculationEntity' ('DuneLocationEntityId' ASC) +; Index: Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure19.1.sql =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure19.1.sql (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure19.1.sql (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,2850 @@ +/* ---------------------------------------------------- */ +/* Generated by Enterprise Architect Version 12.0 */ +/* Created On : 15-jan-2019 14:14:43 */ +/* DBMS : SQLite */ +/* ---------------------------------------------------- */ + +/* Drop Tables */ + +DROP TABLE IF EXISTS 'VersionEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsDikeHeightOutputEntity' +; + +DROP TABLE IF EXISTS 'ProjectEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'AssessmentSectionEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityOutwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'FailureMechanismSectionEntity' +; + +DROP TABLE IF EXISTS 'FailureMechanismEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'CalculationGroupEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationEntity' +; + +DROP TABLE IF EXISTS 'PipingCalculationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsCalculationEntity' +; + +DROP TABLE IF EXISTS 'DuneErosionFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingSoilLayerEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'PipingStochasticSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'StochasticSoilModelEntity' +; + +DROP TABLE IF EXISTS 'SurfaceLineEntity' +; + +DROP TABLE IF EXISTS 'PipingCharacteristicPointEntity' +; + +DROP TABLE IF EXISTS 'PipingCalculationOutputEntity' +; + +DROP TABLE IF EXISTS 'PipingStructureFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'PipingSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StrengthStabilityLengthwiseConstructionSectionResultEntity' +; + +DROP TABLE IF EXISTS 'TechnicalInnovationSectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaterPressureAsphaltCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverSlipOffInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverSlipOffOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityOutwardsSectionResultEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'MicrostabilitySectionResultEntity' +; + +DROP TABLE IF EXISTS 'PipingStructureSectionResultEntity' +; + +DROP TABLE IF EXISTS 'DuneErosionSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverSectionResultEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresSectionResultEntity' +; + +DROP TABLE IF EXISTS 'DikeProfileEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsOutputEntity' +; + +DROP TABLE IF EXISTS 'ForeshoreProfileEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'StabilityStoneCoverWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'HeightStructureEntity' +; + +DROP TABLE IF EXISTS 'HeightStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructureEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresCalculationEntity' +; + +DROP TABLE IF EXISTS 'ClosingStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructureEntity' +; + +DROP TABLE IF EXISTS 'StabilityPointStructuresOutputEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationOutputEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationCalculationOutputEntity' +; + +DROP TABLE IF EXISTS 'BackgroundDataEntity' +; + +DROP TABLE IF EXISTS 'BackgroundDataMetaEntity' +; + +DROP TABLE IF EXISTS 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultSubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'SubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'IllustrationPointResultEntity' +; + +DROP TABLE IF EXISTS 'StochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultSubMechanismIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultFaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'GeneralResultFaultTreeIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'TopLevelSubMechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'TopLevelFaultTreeIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'SubMechanismIllustrationPointStochastEntity' +; + +DROP TABLE IF EXISTS 'FaultTreeSubmechanismIllustrationPointEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCalculationEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCalculationOutputEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsCharacteristicPointEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilLayerOneDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileOneDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilLayerTwoDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileTwoDEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsStochasticSoilProfileEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsPreconsolidationStressEntity' +; + +DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationCalculationEntity' +; + +DROP TABLE IF EXISTS 'HydraulicLocationCalculationCollectionEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationCalculationCollectionEntity' +; + +DROP TABLE IF EXISTS 'DuneLocationCalculationEntity' +; + +DROP TABLE IF EXISTS 'HydraulicBoundaryDatabaseEntity' +; + +/* 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 'GrassCoverErosionInwardsDikeHeightOutputEntity' +( + 'GrassCoverErosionInwardsDikeHeightOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'DikeHeight' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'ProjectEntity' +( + 'ProjectEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Description' VARCHAR (260) +) +; + +CREATE TABLE 'MacroStabilityInwardsFailureMechanismMetaEntity' +( + 'MacroStabilityInwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'A' REAL NOT NULL, + 'StochasticSoilModelCollectionSourcePath' TEXT, + 'SurfaceLineCollectionSourcePath' TEXT, + CONSTRAINT 'FK_MacroStabilityInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'AssessmentSectionEntity' +( + 'AssessmentSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ProjectEntityId' INTEGER NOT NULL, + 'HydraulicLocationCalculationCollectionEntity1Id' INTEGER NOT NULL, -- Represents the design water level factorized signaling norm + 'HydraulicLocationCalculationCollectionEntity2Id' INTEGER NOT NULL, -- Represents the design water level signaling norm + 'HydraulicLocationCalculationCollectionEntity3Id' INTEGER NOT NULL, -- Represents the design water level lower limit norm + 'HydraulicLocationCalculationCollectionEntity4Id' INTEGER NOT NULL, -- Represents the design water level factorized lower limit norm + 'HydraulicLocationCalculationCollectionEntity5Id' INTEGER NOT NULL, -- Represents the wave height factorized signaling norm + 'HydraulicLocationCalculationCollectionEntity6Id' INTEGER NOT NULL, -- Represents the wave height signaling norm + 'HydraulicLocationCalculationCollectionEntity7Id' INTEGER NOT NULL, -- Represents the wave height lower limit norm + 'HydraulicLocationCalculationCollectionEntity8Id' INTEGER NOT NULL, -- Represents the wave height factorized lower limit norm + 'Id' TEXT, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'LowerLimitNorm' REAL NOT NULL, + 'SignalingNorm' REAL NOT NULL, + 'NormativeNormType' TINYINT (1) NOT NULL, -- EnumType: 1 = LowerLimit, 2 = Signaling + 'Composition' TINYINT (1) NOT NULL, -- Enum: 1 = Dike, 2 = Dune, 3 = DikeAndDune + 'ReferenceLinePointXml' TEXT, + 'Order' INT (4) NOT 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_HydraulicLocationCalculationCollectionEntity3' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity3Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity4' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity4Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity5' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity5Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity6' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity6Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity7' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity7Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity8' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity8Id') 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'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity3Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity3Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity4Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity4Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity5Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity5Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity6Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity6Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity7Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity7Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity8Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity8Id') +) +; + +CREATE TABLE 'MacroStabilityOutwardsFailureMechanismMetaEntity' +( + 'MacroStabilityOutwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'A' REAL NOT NULL, + CONSTRAINT 'FK_MacroStabilityOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'FailureMechanismSectionEntity' +( + 'FailureMechanismSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'FailureMechanismSectionPointXml' TEXT NOT NULL, + CONSTRAINT 'FK_FailureMechanismSectionEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'FailureMechanismEntity' +( + 'FailureMechanismEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'AssessmentSectionEntityId' INTEGER NOT NULL, + 'CalculationGroupEntityId' INTEGER, + '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 = Macrostabiliteit buitenwaarts, 14 = Microstabiliteit, 15 = Wateroverdruk bij asfaltbekleding, 16 = Grasbekleding afschuiven binnentalud, 17 = Sterkte en stabiliteit langsconstructires, 18 = Technische innovaties + 'IsRelevant' TINYINT (1) NOT NULL, -- true or false + 'FailureMechanismSectionCollectionSourcePath' TEXT, + 'InputComments' TEXT, + 'OutputComments' TEXT, + 'NotRelevantComments' TEXT, + 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 'StabilityPointStructuresCalculationEntity' +( + 'StabilityPointStructuresCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'StabilityPointStructureEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ConstructiveStrengthLinearLoadModelMean' REAL, + 'ConstructiveStrengthLinearLoadModelCoefficientOfVariation' REAL, + 'ConstructiveStrengthQuadraticLoadModelMean' REAL, + 'ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation' REAL, + 'BankWidthMean' REAL, + 'BankWidthStandardDeviation' REAL, + 'InsideWaterLevelFailureConstructionMean' REAL, + 'InsideWaterLevelFailureConstructionStandardDeviation' REAL, + 'EvaluationLevel' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'VerticalDistance' REAL, + 'FailureProbabilityRepairClosure' REAL NOT NULL, + 'FailureCollisionEnergyMean' REAL, + 'FailureCollisionEnergyCoefficientOfVariation' REAL, + 'ShipMassMean' REAL, + 'ShipMassCoefficientOfVariation' REAL, + 'ShipVelocityMean' REAL, + 'ShipVelocityCoefficientOfVariation' REAL, + 'LevellingCount' INT (4) NOT NULL, + 'ProbabilityCollisionSecondaryStructure' REAL NOT NULL, + 'FlowVelocityStructureClosableMean' REAL, + 'StabilityLinearLoadModelMean' REAL, + 'StabilityLinearLoadModelCoefficientOfVariation' REAL, + 'StabilityQuadraticLoadModelMean' REAL, + 'StabilityQuadraticLoadModelCoefficientOfVariation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'InflowModelType' TINYINT (1) NOT NULL, -- Enum: 1 = VerticalWall, 2 = LowSill, 3 = FloodedCulvert + 'LoadSchematizationType' TINYINT (1) NOT NULL, -- Enum: 1 = Linear, 2 = Quadratic + 'VolumicWeightWater' REAL, + 'StormDurationMean' REAL, + 'FactorStormDurationOpenStructure' REAL, + 'DrainCoefficientMean' REAL, + 'FailureProbabilityStructureWithErosion' REAL NOT NULL, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 'ClosingStructuresFailureMechanismMetaEntity' +( + 'ClosingStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N2A' INT (4) NOT NULL, + 'ClosingStructureCollectionSourcePath' TEXT, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') 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, + 'SurfaceLineCollectionSourcePath' TEXT, + CONSTRAINT 'FK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityStoneCoverFailureMechanismMetaEntity' +( + 'StabilityStoneCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + 'N' REAL NOT NULL, + CONSTRAINT 'FK_StabilityStoneCoverFailureMechanismMetaEntity_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, + 'Name' VARCHAR (260), + '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, + 'AssessmentSectionEntityId' INTEGER NOT NULL, + 'LocationId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'LocationX' REAL, + 'LocationY' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_HydraulicLocationEntity_AssessmentSectionEntity' FOREIGN KEY ('AssessmentSectionEntityId') REFERENCES 'AssessmentSectionEntity' ('AssessmentSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingCalculationEntity' +( + 'PipingCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'SurfaceLineEntityId' INTEGER, + 'PipingStochasticSoilProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'EntryPointL' REAL, + 'ExitPointL' REAL, + 'PhreaticLevelExitMean' REAL, + 'PhreaticLevelExitStandardDeviation' REAL, + 'DampingFactorExitMean' REAL, + 'DampingFactorExitStandardDeviation' REAL, + 'RelevantForScenario' TINYINT (1) NOT NULL, -- true or false + 'ScenarioContribution' REAL, + 'AssessmentLevel' REAL, + 'UseAssessmentLevelManualInput' TINYINT (1) NOT NULL, -- true or false + CONSTRAINT 'FK_PipingCalculationEntity_CalculationGroupEntity' FOREIGN KEY ('CalculationGroupEntityId') REFERENCES 'CalculationGroupEntity' ('CalculationGroupEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_HydraulicLocationEntity' FOREIGN KEY ('HydraulicLocationEntityId') REFERENCES 'HydraulicLocationEntity' ('HydraulicLocationEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_PipingStochasticSoilProfileEntity' FOREIGN KEY ('PipingStochasticSoilProfileEntityId') REFERENCES 'PipingStochasticSoilProfileEntity' ('PipingStochasticSoilProfileEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_PipingCalculationEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsFailureMechanismMetaEntity' +( + 'GrassCoverErosionInwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' REAL NOT NULL, + 'DikeProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresFailureMechanismMetaEntity' +( + 'StabilityPointStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' REAL NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + 'StabilityPointStructureCollectionSourcePath' TEXT, + CONSTRAINT 'FK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsCalculationEntity' +( + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'HydraulicLocationEntityId' INTEGER, + 'DikeProfileEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'Orientation' REAL, + 'CriticalFlowRateMean' REAL, + 'CriticalFlowRateStandardDeviation' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'DikeHeightCalculationType' TINYINT (1) NOT NULL, -- Enum: 1 = NoCalculation, 2 = CalculateByAssessmentSectionNorm, 3 = CalculateByProfileSpecificRequiredProbability + 'DikeHeight' REAL, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'OvertoppingRateCalculationType' TINYINT (1) NOT NULL, -- Enum: 1 = NoCalculation, 2 = CalculateByAssessmentSectionNorm, 3 = CalculateByProfileSpecificRequiredProbability + 'ShouldDikeHeightIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldOvertoppingRateIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 'ShouldOvertoppingOutputIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 'DuneErosionFailureMechanismMetaEntity' +( + 'DuneErosionFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'DuneLocationCalculationCollectionEntity1Id' INTEGER NOT NULL, -- Represents the calculations for the failure mechanism specific factorized signaling norm + 'DuneLocationCalculationCollectionEntity2Id' INTEGER NOT NULL, -- Represents the calculations for the failure mechanism specific signaling norm + 'DuneLocationCalculationCollectionEntity3Id' INTEGER NOT NULL, -- Represents the calculations for the failure mechanism specific lower limit norm + 'DuneLocationCalculationCollectionEntity4Id' INTEGER NOT NULL, -- Represents the calculations for the lower limit norm + 'DuneLocationCalculationCollectionEntity5Id' INTEGER NOT NULL, -- Represents the calculations for the factorized lower limit norm + 'N' REAL NOT NULL, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity1' FOREIGN KEY ('DuneLocationCalculationCollectionEntity1Id') REFERENCES 'DuneLocationCalculationCollectionEntity' ('DuneLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity2' FOREIGN KEY ('DuneLocationCalculationCollectionEntity2Id') REFERENCES 'DuneLocationCalculationCollectionEntity' ('DuneLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity3' FOREIGN KEY ('DuneLocationCalculationCollectionEntity3Id') REFERENCES 'DuneLocationCalculationCollectionEntity' ('DuneLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity4' FOREIGN KEY ('DuneLocationCalculationCollectionEntity4Id') REFERENCES 'DuneLocationCalculationCollectionEntity' ('DuneLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity5' FOREIGN KEY ('DuneLocationCalculationCollectionEntity5Id') REFERENCES 'DuneLocationCalculationCollectionEntity' ('DuneLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_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, + 'HydraulicLocationCalculationCollectionEntity1Id' INTEGER NOT NULL, -- Represents the design water level failure mechanism specific factorized signaling norm + 'HydraulicLocationCalculationCollectionEntity2Id' INTEGER NOT NULL, -- Represents the design water level failure mechanism specific signaling norm + 'HydraulicLocationCalculationCollectionEntity3Id' INTEGER NOT NULL, -- Represents the design water level failure mechanism specific lower limit norm + 'HydraulicLocationCalculationCollectionEntity4Id' INTEGER NOT NULL, -- Represents the wave height failure mechanism specific factorized signaling norm + 'HydraulicLocationCalculationCollectionEntity5Id' INTEGER NOT NULL, -- Represents the wave height failure mechanism specific signaling norm + 'HydraulicLocationCalculationCollectionEntity6Id' INTEGER NOT NULL, -- Represents the wave height failure mechanism specific lower limit norm + 'N' REAL NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity1' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity1Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity2' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity2Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity3' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity3Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity4' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity4Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity5' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity5Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity6' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntity6Id') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE No Action ON UPDATE Cascade, + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity1Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity1Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity2Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity2Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity3Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity3Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity4Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity4Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity5Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity5Id'), + CONSTRAINT 'U_HydraulicLocationCalculationCollectionEntity6Id' UNIQUE ('HydraulicLocationCalculationCollectionEntity6Id') +) +; + +CREATE TABLE 'PipingSoilLayerEntity' +( + 'PipingSoilLayerEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'PipingSoilProfileEntityId' INTEGER NOT NULL, + 'Top' REAL, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- ARGB value of Color. + 'MaterialName' TEXT NOT NULL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelDeviation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'DiameterD70Mean' REAL, + 'DiameterD70CoefficientOfVariation' REAL, + 'PermeabilityMean' REAL, + 'PermeabilityCoefficientOfVariation' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_PipingSoilLayerEntity_SoilProfileEntity' FOREIGN KEY ('PipingSoilProfileEntityId') REFERENCES 'PipingSoilProfileEntity' ('PipingSoilProfileEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'HeightStructuresFailureMechanismMetaEntity' +( + 'HeightStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'N' REAL NOT NULL, + 'HeightStructureCollectionSourcePath' TEXT, + 'ForeshoreProfileCollectionSourcePath' TEXT, + CONSTRAINT 'FK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingSoilProfileEntity' +( + 'PipingSoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Bottom' REAL, + '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 '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, + 'ReferenceLineIntersectionY' REAL, + '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, + 'Y' REAL, + 'Z' REAL, + CONSTRAINT 'FK_SurfaceLinePointEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingCalculationOutputEntity' +( + 'PipingCalculationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'PipingCalculationEntityId' INTEGER NOT NULL, + 'Order' INT (4) NOT NULL, + 'HeaveFactorOfSafety' REAL, + 'HeaveZValue' REAL, + 'UpliftFactorOfSafety' REAL, + 'UpliftZValue' REAL, + 'SellmeijerFactorOfSafety' REAL, + 'SellmeijerZValue' REAL, + 'UpliftEffectiveStress' REAL, + 'HeaveGradient' REAL, + 'SellmeijerCreepCoefficient' REAL, + 'SellmeijerCriticalFall' REAL, + 'SellmeijerReducedFall' REAL, + CONSTRAINT 'FK_PipingCalculationOutputEntity_PipingCalculationEntity' FOREIGN KEY ('PipingCalculationEntityId') REFERENCES 'PipingCalculationEntity' ('PipingCalculationEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'U_PipingCalculationEntity' UNIQUE ('PipingCalculationEntityId') +) +; + +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 'PipingSectionResultEntity' +( + 'PipingSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_PipingSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionInwardsSectionResultEntity' +( + 'GrassCoverErosionInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Applicable + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_GrassCoverErosionInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_GrassCoverErosionInwardsSectionResultEntity_GrassCoverErosionInwardsCalculationEntity' FOREIGN KEY ('GrassCoverErosionInwardsCalculationEntityId') REFERENCES 'GrassCoverErosionInwardsCalculationEntity' ('GrassCoverErosionInwardsCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'HeightStructuresSectionResultEntity' +( + 'HeightStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'HeightStructuresCalculationEntityId' INTEGER, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible 4 = AssessFurther + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None 2 = ProbabilityNegligible 3 = Probability 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_HeightStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_HeightStructuresSectionResultEntity_HeightStructuresCalculationEntity' FOREIGN KEY ('HeightStructuresCalculationEntityId') REFERENCES 'HeightStructuresCalculationEntity' ('HeightStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +CREATE TABLE 'StrengthStabilityLengthwiseConstructionSectionResultEntity' +( + 'StrengthStabilityLengthwiseConstructionSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_StrengthStabilityLengthwiseConstructionSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'TechnicalInnovationSectionResultEntity' +( + 'TechnicalInnovationSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_TechnicalInnovationSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaterPressureAsphaltCoverSectionResultEntity' +( + 'WaterPressureAsphaltCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_WaterPressureAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'ClosingStructuresSectionResultEntity' +( + 'ClosingStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'ClosingStructuresCalculationEntityId' INTEGER, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_ClosingStructuresSectionResultEntity_ClosingStructuresCalculationEntity' FOREIGN KEY ('ClosingStructuresCalculationEntityId') REFERENCES 'ClosingStructuresCalculationEntity' ('ClosingStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade, + CONSTRAINT 'FK_ClosingStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverErosionOutwardsSectionResultEntity' +( + 'GrassCoverErosionOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResultForFactorizedSignalingNorm' TINYINT (1) NOT NULL, -- Detailed result Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForSignalingNorm' TINYINT (1) NOT NULL, -- Detailed result Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForMechanismSpecificLowerLimitNorm' TINYINT (1) NOT NULL, -- Detailed result Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForLowerLimitNorm' TINYINT (1) NOT NULL, -- Detailed result Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForFactorizedLowerLimitNorm' TINYINT (1) NOT NULL, -- Detailed result Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Iv, 3 = IIv, 4 = IIIv, 5 = IVv, 6 = Vv, 7 = VIv, 8 = VIIv + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable 3 = Iv, 4 = IIv, 5 = IIIv, 6 = IVv, 7 = Vv, 8 = VIv, 9 = VIIv + CONSTRAINT 'FK_GrassCoverErosionOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverSlipOffInwardsSectionResultEntity' +( + 'GrassCoverSlipOffInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_GrassCoverSlipOffInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'GrassCoverSlipOffOutwardsSectionResultEntity' +( + 'GrassCoverSlipOffOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_GrassCoverSlipOffOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSectionResultEntity' +( + 'MacroStabilityInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_MacroStabilityInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityOutwardsSectionResultEntity' +( + 'MacroStabilityOutwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'DetailedAssessmentProbability' REAL, + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = Sufficient, 5 = Insufficient, 6 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_MacroStabilityOutwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' +( + 'WaveImpactAsphaltCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'ForeshoreProfileCollectionSourcePath' TEXT, + 'DeltaL' REAL NOT NULL, + CONSTRAINT 'FK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'WaveImpactAsphaltCoverSectionResultEntity' +( + 'WaveImpactAsphaltCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther + 'DetailedAssessmentResultForFactorizedSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForMechanismSpecificLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForFactorizedLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Iv, 3 = IIv, 4 = IIIv, 5 = IVv, 6 = Vv, 7 = VIv, 8 = VIIv + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable 3 = Iv, 4 = IIv, 5 = IIIv, 6 = IVv, 7 = Vv, 8 = VIv, 9 = VIIv + CONSTRAINT 'FK_WaveImpactAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MicrostabilitySectionResultEntity' +( + 'MicrostabilitySectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_MicrostabilitySectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'PipingStructureSectionResultEntity' +( + 'PipingStructureSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = NotAssessed, 2 = Sufficient, 3 = NoVerdict + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Sufficient, 4 = Insufficient, 5 = NotAssessed + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Iv, 4 = IIv, 5 = Vv, 6 = VIIv + CONSTRAINT 'FK_PipingStructureSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'DuneErosionSectionResultEntity' +( + 'DuneErosionSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Applicable + 'DetailedAssessmentResultForFactorizedSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForMechanismSpecificLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForFactorizedLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Iv, 3 = IIv, 4 = IIIv, 5 = IVv, 6 = Vv, 7 = VIv, 8 = VIIv + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable 3 = Iv, 4 = IIv, 5 = IIIv, 6 = IVv, 7 = Vv, 8 = VIv, 9 = VIIv + CONSTRAINT 'FK_DuneErosionSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityStoneCoverSectionResultEntity' +( + 'StabilityStoneCoverSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Applicable + 'DetailedAssessmentResultForFactorizedSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForSignalingNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForMechanismSpecificLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'DetailedAssessmentResultForFactorizedLowerLimitNorm' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Sufficient, 3 = Insufficient, 4 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = Iv, 3 = IIv, 4 = IIIv, 5 = IVv, 6 = Vv, 7 = VIv, 8 = VIIv + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyCategoryGroup' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable 3 = Iv, 4 = IIv, 5 = IIIv, 6 = IVv, 7 = Vv, 8 = VIv, 9 = VIIv + CONSTRAINT 'FK_StabilityStoneCoverSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'StabilityPointStructuresSectionResultEntity' +( + 'StabilityPointStructuresSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismSectionEntityId' INTEGER NOT NULL, + 'StabilityPointStructuresCalculationEntityId' INTEGER, + 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = Applicable + 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed + 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = NotAssessed + 'TailorMadeAssessmentProbability' REAL, + 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false + 'ManualAssemblyProbability' REAL, + CONSTRAINT 'FK_StabilityPointStructuresSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_StabilityPointStructuresSectionResultEntity_StabilityPointStructuresCalculationEntity' FOREIGN KEY ('StabilityPointStructuresCalculationEntityId') REFERENCES 'StabilityPointStructuresCalculationEntity' ('StabilityPointStructuresCalculationEntityId') ON DELETE Set Null ON UPDATE Cascade +) +; + +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, + 'BreakWaterType' TINYINT (1), -- Enum: 1 = Wall 2 = Caisson 3 = Dam + 'BreakWaterHeight' REAL, + 'ForeshoreXml' TEXT NOT NULL, + 'DikeGeometryXml' TEXT NOT NULL, + 'DikeHeight' REAL, + 'X' REAL, + 'Y' REAL, + 'X0' REAL, + '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 'GrassCoverErosionInwardsOutputEntity' +( + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'IsOvertoppingDominant' TINYINT (1) NOT NULL, -- true or false + 'WaveHeight' REAL, + 'Reliability' REAL, + 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 'ForeshoreProfileEntity' +( + 'ForeshoreProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'Id' VARCHAR (260) NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'Orientation' REAL, + 'BreakWaterType' TINYINT (1), -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'GeometryXml' TEXT NOT NULL, + 'X' REAL, + 'Y' REAL, + 'X0' REAL, + '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 'StabilityStoneCoverWaveConditionsCalculationEntity' +( + 'StabilityStoneCoverWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 'CategoryType' TINYINT (1) NOT NULL, -- Enum: 1 = FactorizedSignalingNorm, 2 = SignalingNorm, 3 = LowerLimitNorm, 4 = FactorizedLowerLimitNorm + 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_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, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' +( + 'WaveImpactAsphaltCoverWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 'CategoryType' TINYINT (1) NOT NULL, -- Enum: 1 = FactorizedSignalingNorm, 2 = SignalingNorm, 3 = LowerLimitNorm, 4 = FactorizedLowerLimitNorm + 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_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, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 TABLE 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' +( + 'GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'ForeshoreProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'UpperBoundaryRevetment' REAL, + 'LowerBoundaryRevetment' REAL, + 'UpperBoundaryWaterLevels' REAL, + 'LowerBoundaryWaterLevels' REAL, + 'StepSize' TINYINT (1) NOT NULL, -- Enum: 1 = 0.5, 2 = 1.0, 3 = 2.0 + 'CategoryType' TINYINT (1) NOT NULL, -- Enum: 1 = MechanismSpecificFactorizedSignalingNorm, 2 = MechanismSpecificSignalingNorm, 3 = MechanismSpecificLowerLimitNorm, 4 = LowerLimitNorm, 5 = FactorizedLowerLimitNorm + 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_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, + 'WaterLevel' REAL, + 'WaveHeight' REAL, + 'WavePeakPeriod' REAL, + 'WaveAngle' REAL, + 'WaveDirection' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'HeightStructuresOutputEntity' +( + 'HeightStructuresOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HeightStructuresCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'Reliability' REAL, + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'FailureProbabilityStructureWithErosion' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 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, + 'HeightStructureEntityId' INTEGER, + 'ForeshoreProfileEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comments' TEXT, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'StructureNormalOrientation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FailureProbabilityStructureWithErosion' REAL NOT NULL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'StormDurationMean' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'DeviationWaveDirection' REAL, + '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, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'LevelCrestStructureNotClosingMean' REAL, + 'LevelCrestStructureNotClosingStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ProbabilityOpenStructureBeforeFlooding' REAL, + 'FailureProbabilityOpenStructure' REAL, + 'IdenticalApertures' INT (4) NOT NULL, + 'FailureProbabilityReparation' REAL, + '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, + 'HydraulicLocationEntityId' INTEGER, + 'ClosingStructureEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (255), + 'Comments' TEXT, + 'UseBreakWater' TINYINT (1) NOT NULL, -- true or false + 'BreakWaterType' TINYINT (1) NOT NULL, -- Enum: 1 = Wall, 2 = Caisson, 3 = Dam + 'BreakWaterHeight' REAL, + 'UseForeshore' TINYINT (1) NOT NULL, -- true or false + 'Orientation' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'LevelCrestStructureNotClosingMean' REAL, + 'LevelCrestStructureNotClosingStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + '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, + 'DrainCoefficientMean' REAL, + 'ModelFactorSuperCriticalFlowMean' REAL, + 'StormDurationMean' REAL, + 'FactorStormDurationOpenStructure' REAL, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- true or false + 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, + 'Reliability' REAL, + 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 '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, + 'Y' REAL, + 'StructureNormalOrientation' REAL, + 'StorageStructureAreaMean' REAL, + 'StorageStructureAreaCoefficientOfVariation' REAL, + 'AllowedLevelIncreaseStorageMean' REAL, + 'AllowedLevelIncreaseStorageStandardDeviation' REAL, + 'WidthFlowAperturesMean' REAL, + 'WidthFlowAperturesStandardDeviation' REAL, + 'InsideWaterLevelMean' REAL, + 'InsideWaterLevelStandardDeviation' REAL, + 'ThresholdHeightOpenWeirMean' REAL, + 'ThresholdHeightOpenWeirStandardDeviation' REAL, + 'CriticalOvertoppingDischargeMean' REAL, + 'CriticalOvertoppingDischargeCoefficientOfVariation' REAL, + 'FlowWidthAtBottomProtectionMean' REAL, + 'FlowWidthAtBottomProtectionStandardDeviation' REAL, + 'ConstructiveStrengthLinearLoadModelMean' REAL, + 'ConstructiveStrengthLinearLoadModelCoefficientOfVariation' REAL, + 'ConstructiveStrengthQuadraticLoadModelMean' REAL, + 'ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation' REAL, + 'BankWidthMean' REAL, + 'BankWidthStandardDeviation' REAL, + 'InsideWaterLevelFailureConstructionMean' REAL, + 'InsideWaterLevelFailureConstructionStandardDeviation' REAL, + 'EvaluationLevel' REAL, + 'LevelCrestStructureMean' REAL, + 'LevelCrestStructureStandardDeviation' REAL, + 'VerticalDistance' REAL, + 'FailureProbabilityRepairClosure' REAL, + 'FailureCollisionEnergyMean' REAL, + 'FailureCollisionEnergyCoefficientOfVariation' REAL, + 'ShipMassMean' REAL, + 'ShipMassCoefficientOfVariation' REAL, + 'ShipVelocityMean' REAL, + 'ShipVelocityCoefficientOfVariation' REAL, + 'LevellingCount' INT (4) NOT NULL, + 'ProbabilityCollisionSecondaryStructure' REAL, + 'FlowVelocityStructureClosableMean' REAL, + 'StabilityLinearLoadModelMean' REAL, + 'StabilityLinearLoadModelCoefficientOfVariation' REAL, + 'StabilityQuadraticLoadModelMean' REAL, + 'StabilityQuadraticLoadModelCoefficientOfVariation' REAL, + 'AreaFlowAperturesMean' REAL, + 'AreaFlowAperturesStandardDeviation' REAL, + '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 'StabilityPointStructuresOutputEntity' +( + 'StabilityPointStructuresOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'StabilityPointStructuresCalculationEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'Reliability' REAL, + 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 'HydraulicLocationOutputEntity' +( + 'HydraulicLocationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HydraulicLocationCalculationEntityId' INTEGER, + 'GeneralResultSubMechanismIllustrationPointEntityId' INTEGER, + 'Result' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'DuneLocationEntity' +( + 'DuneLocationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'FailureMechanismEntityId' INTEGER NOT NULL, + 'LocationId' INTEGER NOT NULL, + 'Name' VARCHAR (260) NOT NULL, + 'LocationX' REAL, + 'LocationY' REAL, + 'CoastalAreaId' INT (4) NOT NULL, + 'Offset' REAL, + 'Orientation' REAL, + 'D50' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_DuneLocationEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'DuneLocationCalculationOutputEntity' +( + 'DuneLocationCalculationOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'DuneLocationCalculationEntityId' INTEGER NOT NULL, + 'WaterLevel' REAL, + 'WaveHeight' REAL, + 'WavePeriod' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 '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 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' +( + 'GrassCoverErosionInwardsOvertoppingRateOutputEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GrassCoverErosionInwardsOutputEntityId' INTEGER NOT NULL, + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER, + 'OvertoppingRate' REAL, + 'TargetProbability' REAL, + 'TargetReliability' REAL, + 'CalculatedProbability' REAL, + 'CalculatedReliability' REAL, + '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 'GeneralResultSubMechanismIllustrationPointEntity' +( + 'GeneralResultSubMechanismIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GoverningWindDirectionName' TEXT NOT NULL, + 'GoverningWindDirectionAngle' REAL 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 'IllustrationPointResultEntity' +( + 'IllustrationPointResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'SubMechanismIllustrationPointEntityId' INTEGER NOT NULL, + 'Description' 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 '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 '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 'GeneralResultFaultTreeIllustrationPointEntity' +( + 'GeneralResultFaultTreeIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'GoverningWindDirectionName' TEXT NOT NULL, + 'GoverningWindDirectionAngle' REAL NOT NULL +) +; + +CREATE TABLE 'FaultTreeIllustrationPointEntity' +( + 'FaultTreeIllustrationPointEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ParentFaultTreeIllustrationPointEntityId' INTEGER, + '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 '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 '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 '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 'SubMechanismIllustrationPointStochastEntity' +( + 'SubMechanismIllustrationPointStochastEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'SubMechanismIllustrationPointEntityId' INTEGER NOT NULL, + 'Name' 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 '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 'MacroStabilityInwardsCalculationEntity' +( + 'MacroStabilityInwardsCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'SurfaceLineEntityId' INTEGER, + 'MacroStabilityInwardsStochasticSoilProfileEntityId' INTEGER, + 'HydraulicLocationEntityId' INTEGER, + 'Order' INT (4) NOT NULL, + 'Name' VARCHAR (260), + 'Comment' TEXT, + 'RelevantForScenario' TINYINT (1) NOT NULL, -- true or false + 'ScenarioContribution' REAL, + 'AssessmentLevel' REAL, + 'UseAssessmentLevelManualInput' TINYINT (1) NOT NULL, -- true or false + 'SlipPlaneMinimumDepth' REAL, + 'SlipPlaneMinimumLength' REAL, + 'MaximumSliceWidth' REAL, + '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, + 'TangentLineZBottom' REAL, + 'TangentLineNumber' INT (4) NOT NULL, + 'LeftGridXLeft' REAL, + 'LeftGridXRight' REAL, + 'LeftGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'LeftGridZTop' REAL, + 'LeftGridZBottom' REAL, + 'LeftGridNrOfVerticalPoints' INT (4) NOT NULL, + 'RightGridXLeft' REAL, + 'RightGridXRight' REAL, + 'RightGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'RightGridZTop' REAL, + 'RightGridZBottom' REAL, + 'RightGridNrOfVerticalPoints' INT (4) NOT NULL, + 'DikeSoilScenario' TINYINT (1) NOT NULL, -- Enumtype: 1 = ClayDikeOnClay, 2 = SandDikeOnClay, 3 = ClayDikeOnSand, 4 = SandDikeOnSand + 'WaterLevelRiverAverage' REAL, + 'DrainageConstructionPresent' TINYINT (1) NOT NULL, -- true or false + 'DrainageConstructionCoordinateX' REAL, + 'DrainageConstructionCoordinateZ' REAL, + 'MinimumLevelPhreaticLineAtDikeTopRiver' REAL, + 'MinimumLevelPhreaticLineAtDikeTopPolder' REAL, + 'AdjustPhreaticLine3And4ForUplift' TINYINT (1) NOT NULL, -- true or false + 'LeakageLengthOutwardsPhreaticLine3' REAL, + 'LeakageLengthInwardsPhreaticLine3' REAL, + 'LeakageLengthOutwardsPhreaticLine4' REAL, + 'LeakageLengthInwardsPhreaticLine4' REAL, + 'PiezometricHeadPhreaticLine2Outwards' REAL, + 'PiezometricHeadPhreaticLine2Inwards' REAL, + 'LocationInputExtremeWaterLevelPolder' REAL, + 'LocationInputExtremeUseDefaultOffsets' TINYINT (1) NOT NULL, -- true or false + 'LocationInputExtremePhreaticLineOffsetBelowDikeTopAtRiver' REAL, + 'LocationInputExtremePhreaticLineOffsetBelowDikeTopAtPolder' REAL, + 'LocationInputExtremePhreaticLineOffsetBelowShoulderBaseInside' REAL, + 'LocationInputExtremePhreaticLineOffsetDikeToeAtPolder' REAL, + 'LocationInputExtremePenetrationLength' REAL, + 'LocationInputDailyWaterLevelPolder' REAL, + 'LocationInputDailyUseDefaultOffsets' TINYINT (1) NOT NULL, -- true or false + 'LocationInputDailyPhreaticLineOffsetBelowDikeTopAtRiver' REAL, + 'LocationInputDailyPhreaticLineOffsetBelowDikeTopAtPolder' REAL, + 'LocationInputDailyPhreaticLineOffsetBelowShoulderBaseInside' REAL, + 'LocationInputDailyPhreaticLineOffsetDikeToeAtPolder' REAL, + 'CreateZones' TINYINT (1) NOT NULL, -- true or false + 'ZoningBoundariesDeterminationType' TINYINT (1) NOT NULL, -- Enumtype: 1 = Automatic 2 = Manual + 'ZoneBoundaryLeft' REAL, + 'ZoneBoundaryRight' REAL, + 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, + 'ZValue' REAL, + 'ForbiddenZonesXEntryMin' REAL, + 'ForbiddenZonesXEntryMax' REAL, + 'SlidingCurveLeftSlidingCircleCenterX' REAL, + 'SlidingCurveLeftSlidingCircleCenterY' REAL, + 'SlidingCurveLeftSlidingCircleRadius' REAL, + 'SlidingCurveLeftSlidingCircleIsActive' TINYINT (1) NOT NULL, -- true or false + 'SlidingCurveLeftSlidingCircleNonIteratedForce' REAL, + 'SlidingCurveLeftSlidingCircleIteratedForce' REAL, + 'SlidingCurveLeftSlidingCircleDrivingMoment' REAL, + 'SlidingCurveLeftSlidingCircleResistingMoment' REAL, + 'SlidingCurveRightSlidingCircleCenterX' REAL, + 'SlidingCurveRightSlidingCircleCenterY' REAL, + 'SlidingCurveRightSlidingCircleRadius' REAL, + 'SlidingCurveRightSlidingCircleIsActive' TINYINT (1) NOT NULL, -- true or false + 'SlidingCurveRightSlidingCircleNonIteratedForce' REAL, + 'SlidingCurveRightSlidingCircleIteratedForce' REAL, + 'SlidingCurveRightSlidingCircleDrivingMoment' REAL, + 'SlidingCurveRightSlidingCircleResistingMoment' REAL, + 'SlidingCurveNonIteratedHorizontalForce' REAL, + 'SlidingCurveIteratedHorizontalForce' REAL, + 'SlidingCurveSliceXML' TEXT NOT NULL, -- XML representation of MacroStabilityInwardsSlice + 'SlipPlaneLeftGridXLeft' REAL, + 'SlipPlaneLeftGridXRight' REAL, + 'SlipPlaneLeftGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'SlipPlaneLeftGridZTop' REAL, + 'SlipPlaneLeftGridZBottom' REAL, + 'SlipPlaneLeftGridNrOfVerticalPoints' INT (4) NOT NULL, + 'SlipPlaneRightGridXLeft' REAL, + 'SlipPlaneRightGridXRight' REAL, + 'SlipPlaneRightGridNrOfHorizontalPoints' INT (4) NOT NULL, + 'SlipPlaneRightGridZTop' REAL, + 'SlipPlaneRightGridZBottom' REAL, + '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, + 'Y' REAL, + 'Z' REAL, + CONSTRAINT 'FK_MacroStabilityInwardsCharacteristicPointEntity_SurfaceLineEntity' FOREIGN KEY ('SurfaceLineEntityId') REFERENCES 'SurfaceLineEntity' ('SurfaceLineEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilLayerOneDEntity' +( + 'MacroStabilityInwardsSoilLayerOneDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER NOT NULL, + 'Top' REAL, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- 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, + 'AbovePhreaticLevelCoefficientOfVariation' REAL, + 'AbovePhreaticLevelShift' REAL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelCoefficientOfVariation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'CohesionMean' REAL, + 'CohesionCoefficientOfVariation' REAL, + 'FrictionAngleMean' REAL, + 'FrictionAngleCoefficientOfVariation' REAL, + 'ShearStrengthRatioMean' REAL, + 'ShearStrengthRatioCoefficientOfVariation' REAL, + 'StrengthIncreaseExponentMean' REAL, + 'StrengthIncreaseExponentCoefficientOfVariation' REAL, + 'PopMean' REAL, + 'PopCoefficientOfVariation' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_MacroStabilityInwardsSoilLayerOneDEntity_MacroStabilityInwardsSoilProfileOneDEntity' FOREIGN KEY ('MacroStabilityInwardsSoilProfileOneDEntityId') REFERENCES 'MacroStabilityInwardsSoilProfileOneDEntity' ('MacroStabilityInwardsSoilProfileOneDEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilProfileOneDEntity' +( + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Name' TEXT NOT NULL, + 'Bottom' REAL +) +; + +CREATE TABLE 'MacroStabilityInwardsSoilLayerTwoDEntity' +( + 'MacroStabilityInwardsSoilLayerTwoDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'ParentMacroStabilityInwardsSoilLayerTwoDEntityId' INTEGER, + 'IsAquifer' TINYINT (1) NOT NULL, -- true or false + 'Color' INTEGER, -- 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, + 'AbovePhreaticLevelCoefficientOfVariation' REAL, + 'AbovePhreaticLevelShift' REAL, + 'BelowPhreaticLevelMean' REAL, + 'BelowPhreaticLevelCoefficientOfVariation' REAL, + 'BelowPhreaticLevelShift' REAL, + 'CohesionMean' REAL, + 'CohesionCoefficientOfVariation' REAL, + 'FrictionAngleMean' REAL, + 'FrictionAngleCoefficientOfVariation' REAL, + 'ShearStrengthRatioMean' REAL, + 'ShearStrengthRatioCoefficientOfVariation' REAL, + 'StrengthIncreaseExponentMean' REAL, + 'StrengthIncreaseExponentCoefficientOfVariation' REAL, + 'PopMean' REAL, + 'PopCoefficientOfVariation' REAL, + '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 'MacroStabilityInwardsSoilProfileTwoDEntity' +( + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'Name' TEXT NOT NULL +) +; + +CREATE TABLE 'MacroStabilityInwardsStochasticSoilProfileEntity' +( + 'MacroStabilityInwardsStochasticSoilProfileEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'StochasticSoilModelEntityId' INTEGER NOT NULL, + 'MacroStabilityInwardsSoilProfileOneDEntityId' INTEGER, + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER, + '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 'MacroStabilityInwardsPreconsolidationStressEntity' +( + 'MacroStabilityInwardsPreconsolidationStressEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'MacroStabilityInwardsSoilProfileTwoDEntityId' INTEGER NOT NULL, + 'CoordinateX' REAL NOT NULL, + 'CoordinateZ' REAL NOT NULL, + 'PreconsolidationStressMean' REAL, + 'PreconsolidationStressCoefficientOfVariation' REAL, + 'Order' INT (4) NOT NULL, + CONSTRAINT 'FK_MacroStabilityInwardsPreconsolidationStressEntity_MacroStabilityInwardsSoilProfileTwoDEntity' FOREIGN KEY ('MacroStabilityInwardsSoilProfileTwoDEntityId') REFERENCES 'MacroStabilityInwardsSoilProfileTwoDEntity' ('MacroStabilityInwardsSoilProfileTwoDEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +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 'HydraulicLocationCalculationEntity' +( + 'HydraulicLocationCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'HydraulicLocationEntityId' INTEGER NOT NULL, + 'HydraulicLocationCalculationCollectionEntityId' INTEGER NOT NULL, + 'ShouldIllustrationPointsBeCalculated' TINYINT (1) NOT NULL, -- True or false + CONSTRAINT 'FK_HydraulicLocationCalculationEntity_HydraulicLocationCalculationCollectionEntity' FOREIGN KEY ('HydraulicLocationCalculationCollectionEntityId') REFERENCES 'HydraulicLocationCalculationCollectionEntity' ('HydraulicLocationCalculationCollectionEntityId') ON DELETE Cascade ON UPDATE Cascade, + CONSTRAINT 'FK_HydraulicLocationCalculationEntity_HydraulicLocationEntity' FOREIGN KEY ('HydraulicLocationEntityId') REFERENCES 'HydraulicLocationEntity' ('HydraulicLocationEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +CREATE TABLE 'HydraulicLocationCalculationCollectionEntity' +( + 'HydraulicLocationCalculationCollectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT +) +; + +CREATE TABLE 'DuneLocationCalculationCollectionEntity' +( + 'DuneLocationCalculationCollectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT +) +; + +CREATE TABLE 'DuneLocationCalculationEntity' +( + 'DuneLocationCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'DuneLocationEntityId' INTEGER, + 'DuneLocationCalculationCollectionEntityId' INTEGER, + CONSTRAINT 'FK_DuneLocationCalculationEntity_DuneLocationCalculationCollectionEntity' FOREIGN KEY ('DuneLocationCalculationCollectionEntityId') REFERENCES 'DuneLocationCalculationCollectionEntity' ('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 'HydraulicBoundaryDatabaseEntity' +( + 'HydraulicBoundaryDatabaseEntity' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + 'AssessmentSectionEntityId' INTEGER NOT NULL, + 'Version' TEXT NOT NULL, + 'FilePath' TEXT NOT NULL, + 'HydraulicLocationConfigurationSettingsFilePath' TEXT NOT NULL, + 'HydraulicLocationConfigurationSettingsScenarioName' TEXT NOT NULL, + 'HydraulicLocationConfigurationSettingsYear' INT (4) NOT NULL, + 'HydraulicLocationConfigurationSettingsScope' TEXT NOT NULL, + 'HydraulicLocationConfigurationSettingsSeaLevel' TEXT, + 'HydraulicLocationConfigurationSettingsRiverDischarge' TEXT, + 'HydraulicLocationConfigurationSettingsLakeLevel' TEXT, + 'HydraulicLocationConfigurationSettingsWindDirection' TEXT, + 'HydraulicLocationConfigurationSettingsWindSpeed' TEXT, + 'HydraulicLocationConfigurationSettingsComment' TEXT, + CONSTRAINT 'FK_HydraulicBoundaryDatabaseEntity_AssessmentSectionEntity' FOREIGN KEY ('AssessmentSectionEntityId') REFERENCES 'AssessmentSectionEntity' ('AssessmentSectionEntityId') ON DELETE Cascade ON UPDATE Cascade +) +; + +/* Create Indexes and Triggers */ + +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_MacroStabilityInwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'MacroStabilityInwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity1' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity1Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity2' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity2Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity3' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity3Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity4' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity4Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity5' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity5Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity6' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity6Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity7' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity7Id' ASC) +; + +CREATE INDEX 'IXFK_AssessmentSectionEntity_HydraulicLocationCalculationCollectionEntity8' + ON 'AssessmentSectionEntity' ('HydraulicLocationCalculationCollectionEntity8Id' 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 + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity3Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity4Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity5Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity6Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity7Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity8Id; +END; +; + +CREATE INDEX 'IXFK_MacroStabilityOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'MacroStabilityOutwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismSectionEntity_FailureMechanismEntity' + ON 'FailureMechanismSectionEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismEntity_AssessmentSectionEntity' + ON 'FailureMechanismEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_FailureMechanismEntity_CalculationGroupEntity' + ON 'FailureMechanismEntity' ('CalculationGroupEntityId' 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_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'ClosingStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'PipingFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'StabilityStoneCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_CalculationGroupEntity_CalculationGroupEntity' + ON 'CalculationGroupEntity' ('ParentCalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_HydraulicLocationEntity_AssessmentSectionEntity' + ON 'HydraulicLocationEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_PipingStochasticSoilProfileEntity' + ON 'PipingCalculationEntity' ('PipingStochasticSoilProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_SurfaceLineEntity' + ON 'PipingCalculationEntity' ('SurfaceLineEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_HydraulicLocationEntity' + ON 'PipingCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationEntity_CalculationGroupEntity' + ON 'PipingCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'GrassCoverErosionInwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'StabilityPointStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_CalculationGroupEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_DikeProfileEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('DikeProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsCalculationEntity_HydraulicLocationEntity' + ON 'GrassCoverErosionInwardsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity1' + ON 'DuneErosionFailureMechanismMetaEntity' ('DuneLocationCalculationCollectionEntity1Id' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity2' + ON 'DuneErosionFailureMechanismMetaEntity' ('DuneLocationCalculationCollectionEntity2Id' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity3' + ON 'DuneErosionFailureMechanismMetaEntity' ('DuneLocationCalculationCollectionEntity3Id' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity4' + ON 'DuneErosionFailureMechanismMetaEntity' ('DuneLocationCalculationCollectionEntity4Id' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_DuneLocationCalculationCollectionEntity5' + ON 'DuneErosionFailureMechanismMetaEntity' ('DuneLocationCalculationCollectionEntity5Id' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'DuneErosionFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; +CREATE TRIGGER [TR_AfterDeleteDuneErosionFailureMechanismMetaEntity_RemoveDuneLocationCalculationCollectionEntities] + AFTER DELETE + ON DuneErosionFailureMechanismMetaEntity + FOR EACH ROW +BEGIN + DELETE + FROM DuneLocationCalculationCollectionEntity + WHERE DuneLocationCalculationCollectionEntityId IS OLD.DuneLocationCalculationCollectionEntity1Id + OR DuneLocationCalculationCollectionEntityId IS OLD.DuneLocationCalculationCollectionEntity2Id + OR DuneLocationCalculationCollectionEntityId IS OLD.DuneLocationCalculationCollectionEntity3Id + OR DuneLocationCalculationCollectionEntityId IS OLD.DuneLocationCalculationCollectionEntity4Id + OR DuneLocationCalculationCollectionEntityId IS OLD.DuneLocationCalculationCollectionEntity5Id; +END; +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity1' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity1Id' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity2' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity2Id' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity3' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity3Id' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity4' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity4Id' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity5' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity5Id' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_HydraulicLocationCalculationCollectionEntity6' + ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('HydraulicLocationCalculationCollectionEntity6Id' ASC) +; +CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionOutwardsFailureMechanismMetaEntity_RemoveHydraulicLocationCalculationCollectionEntities] + AFTER DELETE + ON GrassCoverErosionOutwardsFailureMechanismMetaEntity + FOR EACH ROW +BEGIN + DELETE + FROM HydraulicLocationCalculationCollectionEntity + WHERE HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity1Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity2Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity3Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity4Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity5Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity6Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity7Id + OR HydraulicLocationCalculationCollectionEntityId IS OLD.HydraulicLocationCalculationCollectionEntity8Id; +END; +; + +CREATE INDEX 'IXFK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'HeightStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingStochasticSoilProfileEntity_SoilProfileEntity' + ON 'PipingStochasticSoilProfileEntity' ('PipingSoilProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingStochasticSoilProfileEntity_StochasticSoilModelEntity' + ON 'PipingStochasticSoilProfileEntity' ('StochasticSoilModelEntityId' ASC) +; + +CREATE INDEX 'IXFK_StochasticSoilModelEntity_FailureMechanismEntity' + ON 'StochasticSoilModelEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_SurfaceLineEntity_FailureMechanismEntity' + ON 'SurfaceLineEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_SurfaceLinePointEntity_SurfaceLineEntity' + ON 'PipingCharacteristicPointEntity' ('SurfaceLineEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingCalculationOutputEntity_PipingCalculationEntity' + ON 'PipingCalculationOutputEntity' ('PipingCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingStructureFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'PipingStructureFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingSectionResultEntity_FailureMechanismSectionEntity' + ON 'PipingSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverErosionInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionInwardsSectionResultEntity_GrassCoverErosionInwardsCalculationEntity' + ON 'GrassCoverErosionInwardsSectionResultEntity' ('GrassCoverErosionInwardsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'HeightStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_HeightStructuresSectionResultEntity_HeightStructuresCalculationEntity' + ON 'HeightStructuresSectionResultEntity' ('HeightStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_StrengthStabilityLengthwiseConstructionSectionResultEntity_FailureMechanismSectionEntity' + ON 'StrengthStabilityLengthwiseConstructionSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_TechnicalInnovationSectionResultEntity_FailureMechanismSectionEntity' + ON 'TechnicalInnovationSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaterPressureAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'WaterPressureAsphaltCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresSectionResultEntity_ClosingStructuresCalculationEntity' + ON 'ClosingStructuresSectionResultEntity' ('ClosingStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_ClosingStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'ClosingStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverErosionOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverSlipOffInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverSlipOffInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverSlipOffOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'GrassCoverSlipOffOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MacroStabilityInwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'MacroStabilityInwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MacroStabilityOutwardsSectionResultEntity_FailureMechanismSectionEntity' + ON 'MacroStabilityOutwardsSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity' + ON 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'WaveImpactAsphaltCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_MicrostabilitySectionResultEntity_FailureMechanismSectionEntity' + ON 'MicrostabilitySectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_PipingStructureSectionResultEntity_FailureMechanismSectionEntity' + ON 'PipingStructureSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneErosionSectionResultEntity_FailureMechanismSectionEntity' + ON 'DuneErosionSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverSectionResultEntity_FailureMechanismSectionEntity' + ON 'StabilityStoneCoverSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityPointStructuresSectionResultEntity_FailureMechanismSectionEntity' + ON 'StabilityPointStructuresSectionResultEntity' ('FailureMechanismSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityPointStructuresSectionResultEntity_StabilityPointStructuresCalculationEntity' + ON 'StabilityPointStructuresSectionResultEntity' ('StabilityPointStructuresCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_DikeProfileEntity_FailureMechanismEntity' + ON 'DikeProfileEntity' ('FailureMechanismEntityId' ASC) +; + +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_ForeshoreProfileEntity_FailureMechanismEntity' + ON 'ForeshoreProfileEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'StabilityStoneCoverWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_StabilityStoneCoverWaveConditionsOutputEntity_StabilityStoneCoverWaveConditionsCalculationEntity' + ON 'StabilityStoneCoverWaveConditionsOutputEntity' ('StabilityStoneCoverWaveConditionsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_WaveImpactAsphaltCoverWaveConditionsOutputEntity_WaveImpactAsphaltCoverWaveConditionsCalculationEntity' + ON 'WaveImpactAsphaltCoverWaveConditionsOutputEntity' ('WaveImpactAsphaltCoverWaveConditionsCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_CalculationGroupEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('CalculationGroupEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_ForeshoreProfileEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('ForeshoreProfileEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsCalculationEntity_HydraulicLocationEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_GrassCoverErosionOutwardsWaveConditionsOutputEntity_GrassCoverErosionOutwardsWaveConditionsCalculationEntity' + ON 'GrassCoverErosionOutwardsWaveConditionsOutputEntity' ('GrassCoverErosionOutwardsWaveConditionsCalculationEntityId' 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_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_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_StabilityPointStructureEntity_FailureMechanismEntity' + ON 'StabilityPointStructureEntity' ('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_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_DuneLocationEntity_FailureMechanismEntity' + ON 'DuneLocationEntity' ('FailureMechanismEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneLocationCalculationOutputEntity_DuneLocationCalculationEntity' + ON 'DuneLocationCalculationOutputEntity' ('DuneLocationCalculationEntityId' ASC) +; + +CREATE INDEX 'IXFK_BackgroundDataEntity_AssessmentSectionEntity' + ON 'BackgroundDataEntity' ('AssessmentSectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_BackgroundDataMetaEntity_BackgroundDataEntity' + ON 'BackgroundDataMetaEntity' ('BackgroundDataEntityId' ASC) +; + +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_IllustrationPointResultEntity_SubMechanismIllustrationPointEntity' + ON 'IllustrationPointResultEntity' ('SubMechanismIllustrationPointEntityId' ASC) +; + +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_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_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_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_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_SubMechanismIllustrationPointStochast_SubMechanismIllustrationPointEntity' + ON 'SubMechanismIllustrationPointStochastEntity' ('SubMechanismIllustrationPointEntityId' ASC) +; + +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_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_MacroStabilityInwardsSoilLayerOneDEntity_MacroStabilityInwardsSoilProfileOneDEntity' + ON 'MacroStabilityInwardsSoilLayerOneDEntity' ('MacroStabilityInwardsSoilProfileOneDEntityId' ASC) +; + +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 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_HydraulicLocationCalculationEntity_HydraulicLocationCalculationCollectionEntity' + ON 'HydraulicLocationCalculationEntity' ('HydraulicLocationCalculationCollectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_HydraulicLocationCalculationEntity_HydraulicLocationEntity' + ON 'HydraulicLocationCalculationEntity' ('HydraulicLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneLocationCalculationEntity_DuneLocationCalculationCollectionEntity' + ON 'DuneLocationCalculationEntity' ('DuneLocationCalculationCollectionEntityId' ASC) +; + +CREATE INDEX 'IXFK_DuneLocationCalculationEntity_DuneLocationEntity' + ON 'DuneLocationCalculationEntity' ('DuneLocationEntityId' ASC) +; + +CREATE INDEX 'IXFK_HydraulicBoundaryDatabaseEntity_AssessmentSectionEntity' + ON 'HydraulicBoundaryDatabaseEntity' ('AssessmentSectionEntityId' ASC) +; Index: Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_17.1_17.2.sql =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_17.1_17.2.sql (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_17.1_17.2.sql (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,1991 @@ +/* +Migration script for migrating Ringtoets databases. +SourceProject version: 17.1 +TargetProject version: 17.2 +*/ +PRAGMA foreign_keys = OFF; + +ATTACH DATABASE "{0}" AS SOURCEPROJECT; + +CREATE TEMP TABLE TempAssessmentReturnPeriod +( + [AssessmentSectionId] TEXT, + [SignalingReturnPeriod] INTEGER NOT NULL, + [LowerLimitReturnPeriod] INTEGER NOT NULL +); + +INSERT INTO TempAssessmentReturnPeriod VALUES + ('1-1', 1000, 1000), + ('1-2', 1000, 1000), + ('2-1', 1000, 300), + ('2-2', 1000, 1000), + ('3-1', 3000, 3000), + ('3-2', 1000, 1000), + ('4-1', 300, 300), + ('4-2', 1000, 300), + ('5-1', 3000, 1000), + ('5-2', 3000, 3000), + ('6-1', 3000, 1000), + ('6-2', 3000, 1000), + ('6-3', 3000, 1000), + ('6-4', 3000, 1000), + ('6-5', 3000, 1000), + ('6-6', 3000, 1000), + ('6-7', 10000, 3000), + ('7-1', 3000, 1000), + ('7-2', 3000, 1000), + ('8-1', 30000, 10000), + ('8-2', 30000, 10000), + ('8-3', 30000, 10000), + ('8-4', 30000, 10000), + ('8-5', 3000, 1000), + ('8-6', 3000, 1000), + ('8-7', 3000, 1000), + ('9-1', 1000, 300), + ('9-2', 3000, 1000), + ('10-1', 3000, 1000), + ('10-2', 3000, 1000), + ('10-3', 10000, 3000), + ('11-1', 3000, 1000), + ('11-2', 3000, 1000), + ('11-3', 300, 100), + ('12-1', 1000, 1000), + ('12-2', 3000, 1000), + ('13-1', 3000, 1000), + ('13-2', 3000, 3000), + ('13-3', 3000, 1000), + ('13-4', 3000, 1000), + ('13-5', 3000, 1000), + ('13-6', 3000, 1000), + ('13-7', 3000, 1000), + ('13-8', 3000, 1000), + ('13-9', 3000, 1000), + ('13a-1', 300, 100), + ('13b-1', 300, 100), + ('14-1', 30000, 10000), + ('14-10', 30000, 30000), + ('14-2', 100000, 30000), + ('14-3', 10000, 10000), + ('14-4', 10000, 3000), + ('14-5', 30000, 10000), + ('14-6', 30000, 10000), + ('14-7', 30000, 10000), + ('14-8', 30000, 10000), + ('14-9', 30000, 30000), + ('15-1', 30000, 10000), + ('15-2', 10000, 3000), + ('15-3', 10000, 3000), + ('16-1', 100000, 30000), + ('16-2', 30000, 10000), + ('16-3', 30000, 10000), + ('16-4', 30000, 10000), + ('16-5', 10, 10), -- Signaling return period set to LowerLimit + ('17-1', 3000, 1000), + ('17-2', 3000, 1000), + ('17-3', 100000, 30000), + ('18-1', 10000, 3000), + ('19-1', 100000, 30000), + ('20-1', 30000, 10000), + ('20-2', 10000, 10000), + ('20-3', 30000, 10000), + ('20-4', 1000, 300), + ('21-1', 3000, 1000), + ('21-2', 300, 100), + ('22-1', 3000, 1000), + ('22-2', 10000, 3000), + ('23-1', 3000, 1000), + ('24-1', 10000, 3000), + ('24-2', 1000, 300), + ('24-3', 10000, 10000), + ('25-1', 3000, 1000), + ('25-2', 1000, 300), + ('25-3', 300, 100), + ('25-4', 300, 300), + ('26-1', 3000, 1000), + ('26-2', 3000, 1000), + ('26-3', 10000, 3000), + ('26-4', 1000, 1000), + ('27-1', 3000, 3000), + ('27-2', 10000, 10000), + ('27-3', 3000, 1000), + ('27-4', 1000, 300), + ('28-1', 1000, 300), + ('29-1', 3000, 1000), + ('29-2', 10000, 3000), + ('29-3', 100000, 30000), + ('29-4', 1000, 1000), + ('30-1', 3000, 1000), + ('30-2', 100000, 100000), + ('30-3', 3000, 1000), + ('30-4', 1000000, 1000000), + ('31-1', 30000, 10000), + ('31-2', 10000, 3000), + ('31-3', 300, 100), + ('32-1', 1000, 300), + ('32-2', 1000, 300), + ('32-3', 3000, 1000), + ('32-4', 3000, 1000), + ('33-1', 300, 100), + ('34-1', 1000, 300), + ('34-2', 1000, 300), + ('34-3', 3000, 1000), + ('34-4', 1000, 300), + ('34-5', 300, 100), + ('34a-1', 3000, 1000), + ('35-1', 10000, 3000), + ('35-2', 3000, 1000), + ('36-1', 10000, 3000), + ('36-2', 30000, 10000), + ('36-3', 30000, 10000), + ('36-4', 10000, 3000), + ('36-5', 10000, 3000), + ('36a-1', 3000, 1000), + ('37-1', 10000, 3000), + ('38-1', 30000, 10000), + ('38-2', 10000, 3000), + ('39-1', 3000, 3000), + ('40-1', 30000, 30000), + ('40-2', 10000, 3000), + ('41-1', 30000, 10000), + ('41-2', 10000, 3000), + ('41-3', 3000, 3000), + ('41-4', 10000, 3000), + ('42-1', 10000, 3000), + ('43-1', 30000, 10000), + ('43-2', 10000, 3000), + ('43-3', 30000, 10000), + ('43-4', 30000, 10000), + ('43-5', 30000, 10000), + ('43-6', 30000, 10000), + ('44-1', 30000, 10000), + ('44-2', 300, 100), + ('44-3', 30000, 10000), + ('45-1', 100000, 30000), + ('45-2', 300, 100), + ('45-3', 300, 100), + ('46-1', 300, 100), + ('47-1', 3000, 1000), + ('48-1', 30000, 10000), + ('48-2', 10000, 3000), + ('48-3', 10000, 3000), + ('49-1', 300, 100), + ('49-2', 10000, 3000), + ('50-1', 30000, 10000), + ('50-2', 3000, 1000), + ('51-1', 1000, 300), + ('52-1', 3000, 1000), + ('52-2', 3000, 1000), + ('52-3', 3000, 1000), + ('52-4', 3000, 1000), + ('52a-1', 3000, 1000), + ('53-1', 3000, 1000), + ('53-2', 10000, 3000), + ('53-3', 10000, 3000), + ('54-1', 1000, 300), + ('55-1', 1000, 300), + ('56-1', 300, 100), + ('57-1', 300, 100), + ('58-1', 300, 100), + ('59-1', 300, 100), + ('60-1', 300, 100), + ('61-1', 300, 100), + ('63-1', 300, 100), + ('64-1', 300, 100), + ('65-1', 300, 100), + ('66-1', 300, 100), + ('67-1', 300, 100), + ('68-1', 1000, 300), + ('68-2', 300, 100), + ('69-1', 1000, 300), + ('70-1', 300, 100), + ('71-1', 300, 100), + ('72-1', 300, 100), + ('73-1', 300, 100), + ('74-1', 300, 100), + ('75-1', 300, 100), + ('76-1', 300, 100), + ('76-2', 300, 100), + ('76a-1', 300, 100), + ('77-1', 300, 100), + ('78-1', 300, 100), + ('78a-1', 300, 100), + ('79-1', 300, 100), + ('80-1', 300, 100), + ('81-1', 300, 100), + ('82-1', 300, 100), + ('83-1', 300, 100), + ('85-1', 300, 100), + ('86-1', 300, 100), + ('87-1', 1000, 300), + ('88-1', 300, 100), + ('89-1', 300, 100), + ('90-1', 3000, 1000), + ('91-1', 300, 300), + ('92-1', 300, 100), + ('93-1', 1000, 300), + ('94-1', 300, 100), + ('95-1', 300, 100), + ('201', 10000, 3000), + ('202', 10000, 3000), + ('204a', 10000, 3000), + ('204b', 1000, 300), + ('205', 3000, 1000), + ('206', 10000, 3000), + ('208', 100000, 30000), + ('209', 100000, 30000), + ('210', 100000, 30000), + ('211', 3000, 1000), + ('212', 10000, 3000), + ('213', 10000, 3000), + ('214', 3000, 1000), + ('215', 30000, 10000), + ('216', 3000, 1000), + ('217', 30000, 10000), + ('218', 30000, 10000), + ('219', 30000, 10000), + ('221', 10000, 3000), + ('222', 30000, 10000), + ('223', 30000, 10000), + ('224', 30000, 10000), + ('225', 30000, 10000), + ('226', 3000, 1000), + ('227', 3000, 1000); + +INSERT INTO AssessmentSectionEntity ( + [AssessmentSectionEntityId], + [ProjectEntityId], + [Id], + [Name], + [Comments], + [LowerLimitNorm], + [SignalingNorm], + [NormativeNormType], + [HydraulicDatabaseVersion], + [HydraulicDatabaseLocation], + [Composition], + [ReferenceLinePointXml], + [Order]) +SELECT + [AssessmentSectionEntityId], + [ProjectEntityId], + CASE + WHEN [Id] IS NULL + THEN "" + ELSE [Id] + END, + [Name], + [Comments], + CASE + WHEN SourceAssessmentSection.[LowerLimitReturnPeriod] IS NULL OR [NormativeNormType] == 1 -- If lower limit norm type + THEN SourceAssessmentSection.[Norm] + ELSE + 1.0 / SourceAssessmentSection.[LowerLimitReturnPeriod] + END, + CASE + WHEN SourceAssessmentSection.[SignalingReturnPeriod] IS NULL OR [NormativeNormType] == 2 -- If signaling norm type + THEN SourceAssessmentSection.[Norm] + ELSE + 1.0 / SourceAssessmentSection.[SignalingReturnPeriod] + END, + [NormativeNormType], + [HydraulicDatabaseVersion], + [HydraulicDatabaseLocation], + [Composition], + [ReferenceLinePointXml], + [Order] +FROM +( + SELECT + CASE + WHEN [SignalingReturnPeriod] IS NULL OR OriginalReturnPeriod BETWEEN ([SignalingReturnPeriod] - 0.1) AND ([SignalingReturnPeriod] + 0.1) OR + ( + OriginalReturnPeriod NOT BETWEEN ([SignalingReturnPeriod] - 0.1) AND ([SignalingReturnPeriod] + 0.1) + AND OriginalReturnPeriod NOT BETWEEN ([LowerLimitReturnPeriod] - 0.1) AND ([LowerLimitReturnPeriod] + 0.1) + AND OriginalReturnPeriod > [LowerLimitReturnPeriod] + ) + THEN 2 -- Set signaling norm type + ELSE 1 -- Set lower limit norm type + END AS [NormativeNormType], + * + FROM + ( + SELECT CAST(1.0 / ASE.[Norm] AS FLOAT) AS OriginalReturnPeriod, + * + FROM [SOURCEPROJECT].AssessmentSectionEntity ASE + LEFT JOIN TempAssessmentReturnPeriod TA ON + ( + TA.[AssessmentSectionId] = ASE.[Id] + ) + ) +) AS SourceAssessmentSection; +INSERT INTO BackgroundDataEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataEntity; +INSERT INTO BackgroundDataMetaEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataMetaEntity; +INSERT INTO CalculationGroupEntity SELECT * FROM [SOURCEPROJECT].CalculationGroupEntity; +INSERT INTO PipingCharacteristicPointEntity ( + [PipingCharacteristicPointEntityId], + [SurfaceLineEntityId], + [Type], + [X], + [Y], + [Z]) +SELECT + [CharacteristicPointEntityId], + [SurfaceLineEntityId], + [Type], + [X], + [Y], + [Z] + FROM [SOURCEPROJECT].CharacteristicPointEntity; +INSERT INTO ClosingStructureEntity ( + [ClosingStructureEntityId], + [FailureMechanismEntityId], + [Order], + [Name], + [Id], + [X], + [Y], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [LevelCrestStructureNotClosingMean], + [LevelCrestStructureNotClosingStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ProbabilityOrFrequencyOpenStructureBeforeFlooding], + [FailureProbabilityOpenStructure], + [IdenticalApertures], + [FailureProbabilityReparation], + [InflowModelType]) +SELECT + [ClosingStructureEntityId], + [FailureMechanismEntityId], + [Order], + [Name], + CASE + WHEN Suffix + THEN [Id] || SUBSTR(QUOTE(ZEROBLOB((SuffixPreLength + 1) / 2)), 3, SuffixPreLength) || Suffix + ELSE [Id] + END AS [Id], + [X], + [Y], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [LevelCrestStructureNotClosingMean], + [LevelCrestStructureNotClosingStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ProbabilityOrFrequencyOpenStructureBeforeFlooding], + [FailureProbabilityOpenStructure], + [IdenticalApertures], + [FailureProbabilityReparation], + [InflowModelType] + FROM ( + SELECT *, + MaxLength - LENGTH([Id]) AS SuffixPreLength, + ( + SELECT CS.rowid + FROM [SOURCEPROJECT].ClosingStructureEntity + WHERE CS.[ClosingStructureEntityId] > [ClosingStructureEntityId] + AND CS.[Id] IS [Id] + AND CS.[FailuremechanismEntityId] = [FailuremechanismEntityId] + ) AS Suffix + FROM [SOURCEPROJECT].ClosingStructureEntity CS + JOIN ( + SELECT MAX(LENGTH([Id])) AS MaxLength + FROM [SOURCEPROJECT].ClosingStructureEntity + ) + ); +INSERT INTO ClosingStructuresCalculationEntity ( + [ClosingStructuresCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + [ClosingStructureEntityId], + [Order], + [Name], + [Comments], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [Orientation], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [LevelCrestStructureNotClosingMean], + [LevelCrestStructureNotClosingStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ProbabilityOrFrequencyOpenStructureBeforeFlooding], + [FailureProbabilityOpenStructure], + [IdenticalApertures], + [FailureProbabilityReparation], + [InflowModelType], + [FailureProbabilityStructureWithErosion], + [DeviationWaveDirection], + [DrainCoefficientMean], + [ModelFactorSuperCriticalFlowMean], + [StormDurationMean], + [FactorStormDurationOpenStructure], + [ShouldIllustrationPointsBeCalculated]) +SELECT + [ClosingStructuresCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + [ClosingStructureEntityId], + [Order], + [Name], + [Comments], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [Orientation], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [LevelCrestStructureNotClosingMean], + [LevelCrestStructureNotClosingStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ProbabilityOrFrequencyOpenStructureBeforeFlooding], + [FailureProbabilityOpenStructure], + [IdenticalApertures], + [FailureProbabilityReparation], + [InflowModelType], + [FailureProbabilityStructureWithErosion], + [DeviationWaveDirection], + [DrainCoefficientMean], + [ModelFactorSuperCriticalFlowMean], + [StormDurationMean], + [FactorStormDurationOpenStructure], + 0 + FROM [SOURCEPROJECT].ClosingStructuresCalculationEntity; +INSERT INTO ClosingStructuresFailureMechanismMetaEntity ( + [ClosingStructuresFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [N2A], + [ClosingStructureCollectionSourcePath], + [ForeshoreProfileCollectionSourcePath]) +SELECT + [ClosingStructuresFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [N2A], + CASE + WHEN COUNT([ClosingStructureEntityId]) + THEN "" + ELSE NULL + END, + CASE + WHEN COUNT([ForeshoreProfileEntityId]) + THEN "" + ELSE NULL + END + FROM [SOURCEPROJECT].ClosingStructuresFailureMechanismMetaEntity + LEFT JOIN [SOURCEPROJECT].ClosingStructureEntity USING(FailureMechanismEntityId) + LEFT JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(FailureMechanismEntityId) + GROUP BY FailureMechanismEntityID; +INSERT INTO ClosingStructuresSectionResultEntity ( + [ClosingStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [ClosingStructuresCalculationEntityId], + [LayerOne], + [LayerThree]) +SELECT + [ClosingStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [ClosingStructuresCalculationEntityId], + [LayerOne], + CASE + WHEN [LayerThree] > 1 OR [LayerThree] < 0 + THEN NULL + ELSE + [LayerThree] + END + FROM [SOURCEPROJECT].ClosingStructuresSectionResultEntity; +INSERT INTO DikeProfileEntity SELECT * FROM [SOURCEPROJECT].DikeProfileEntity; +INSERT INTO DuneErosionFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].DuneErosionFailureMechanismMetaEntity; +INSERT INTO DuneErosionSectionResultEntity SELECT * FROM [SOURCEPROJECT].DuneErosionSectionResultEntity; +INSERT INTO DuneLocationEntity SELECT * FROM [SOURCEPROJECT].DuneLocationEntity; +INSERT INTO FailureMechanismEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismEntity; +INSERT INTO FailureMechanismSectionEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismSectionEntity; +INSERT INTO ForeshoreProfileEntity ( + [ForeshoreProfileEntityId], + [FailureMechanismEntityId], + [Id], + [Name], + [Orientation], + [BreakWaterType], + [BreakWaterHeight], + [GeometryXml], + [X], + [Y], + [X0], + [Order]) +SELECT + [ForeshoreProfileEntityId], + [FailureMechanismEntityId], + CASE + WHEN Suffix + THEN [Id] || SUBSTR(QUOTE(ZEROBLOB((SuffixPreLength + 1) / 2)), 3, SuffixPreLength) || Suffix + ELSE [Id] + END AS [Id], + [Name], + [Orientation], + [BreakWaterType], + [BreakWaterHeight], + [GeometryXml], + [X], + [Y], + [X0], + [Order] + FROM ( + SELECT *, + MaxLength - LENGTH(Id) AS SuffixPreLength, + ( + SELECT FS.rowid + FROM [SOURCEPROJECT].ForeshoreProfileEntity + WHERE FS.ForeshoreProfileEntityId > ForeshoreProfileEntityId + AND FS.Id IS Id + AND FS.FailuremechanismEntityId = FailuremechanismEntityId + ) AS Suffix + FROM [SOURCEPROJECT].ForeshoreProfileEntity FS + JOIN ( + SELECT MAX(LENGTH(Id)) AS MaxLength + FROM [SOURCEPROJECT].ForeshoreProfileEntity + ) + ); +INSERT INTO GrassCoverErosionInwardsCalculationEntity ( + [GrassCoverErosionInwardsCalculationEntityId], + [CalculationGroupEntityId], + [HydraulicLocationEntityId], + [DikeProfileEntityId], + [Order], + [Name], + [Comments], + [Orientation], + [CriticalFlowRateMean], + [CriticalFlowRateStandardDeviation], + [UseForeshore], + [DikeHeightCalculationType], + [DikeHeight], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [OvertoppingRateCalculationType], + [ShouldDikeHeightIllustrationPointsBeCalculated], + [ShouldOvertoppingRateIllustrationPointsBeCalculated], + [ShouldOvertoppingOutputIllustrationPointsBeCalculated]) +SELECT + [GrassCoverErosionInwardsCalculationEntityId], + [CalculationGroupEntityId], + [HydraulicLocationEntityId], + [DikeProfileEntityId], + [Order], + [Name], + [Comments], + [Orientation], + [CriticalFlowRateMean], + [CriticalFlowRateStandardDeviation], + [UseForeshore], + [DikeHeightCalculationType], + [DikeHeight], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [OvertoppingRateCalculationType], + 0, + 0, + 0 + FROM [SOURCEPROJECT].GrassCoverErosionInwardsCalculationEntity; +INSERT INTO GrassCoverErosionInwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsFailureMechanismMetaEntity; +INSERT INTO GrassCoverErosionInwardsSectionResultEntity ( + [GrassCoverErosionInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [GrassCoverErosionInwardsCalculationEntityId], + [LayerOne], + [LayerThree]) +SELECT + [GrassCoverErosionInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [GrassCoverErosionInwardsCalculationEntityId], + [LayerOne], + CASE + WHEN [LayerThree] > 1 OR [LayerThree] < 0 + THEN NULL + ELSE + [LayerThree] + END + FROM [SOURCEPROJECT].GrassCoverErosionInwardsSectionResultEntity; +INSERT INTO GrassCoverErosionOutwardsFailureMechanismMetaEntity ( + [GrassCoverErosionOutwardsFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [N], + [ForeshoreProfileCollectionSourcePath]) +SELECT + [GrassCoverErosionOutwardsFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [N], + CASE + WHEN COUNT([ForeshoreProfileEntityId]) + THEN "" + ELSE NULL + END + FROM [SOURCEPROJECT].GrassCoverErosionOutwardsFailureMechanismMetaEntity + LEFT JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(FailureMechanismEntityId) + GROUP BY FailureMechanismEntityID; +INSERT INTO GrassCoverErosionOutwardsHydraulicLocationEntity ( + [GrassCoverErosionOutwardsHydraulicLocationEntityId], + [FailureMechanismEntityId], + [LocationId], + [Name], + [LocationX], + [LocationY], + [ShouldWaveHeightIllustrationPointsBeCalculated], + [ShouldDesignWaterLevelIllustrationPointsBeCalculated], + [Order]) +SELECT + [GrassCoverErosionOutwardsHydraulicLocationEntityId], + [FailureMechanismEntityId], + [LocationId], + [Name], + [LocationX], + [LocationY], + 0, + 0, + [Order] + FROM [SOURCEPROJECT].GrassCoverErosionOutwardsHydraulicLocationEntity; +INSERT INTO GrassCoverErosionOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsSectionResultEntity; +INSERT INTO GrassCoverErosionOutwardsWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsCalculationEntity; +INSERT INTO GrassCoverSlipOffInwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverSlipOffInwardsSectionResultEntity; +INSERT INTO GrassCoverSlipOffOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverSlipOffOutwardsSectionResultEntity; +INSERT INTO HeightStructureEntity ( + [HeightStructureEntityId], + [FailureMechanismEntityId], + [Order], + [Name], + [Id], + [X], + [Y], + [StructureNormalOrientation], + [LevelCrestStructureMean], + [LevelCrestStructureStandardDeviation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [FailureProbabilityStructureWithErosion], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation]) +SELECT + [HeightStructureEntityId], + [FailureMechanismEntityId], + [Order], + [Name], + CASE + WHEN Suffix + THEN [Id] || SUBSTR(QUOTE(ZEROBLOB((SuffixPreLength + 1) / 2)), 3, SuffixPreLength)|| Suffix + ELSE [Id] + END AS [Id], + [X], + [Y], + [StructureNormalOrientation], + [LevelCrestStructureMean], + [LevelCrestStructureStandardDeviation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [FailureProbabilityStructureWithErosion], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation] + FROM ( + SELECT *, + MaxLength - LENGTH([Id]) AS SuffixPreLength, ( + SELECT HS.rowid + FROM [SOURCEPROJECT].HeightStructureEntity + WHERE HS.[HeightStructureEntityId] > [HeightStructureEntityId] + AND HS.[Id] IS [Id] + AND HS.[FailuremechanismEntityId] = [FailuremechanismEntityId] + ) AS Suffix + FROM [SOURCEPROJECT].HeightStructureEntity HS + JOIN ( + SELECT MAX(LENGTH([Id])) AS MaxLength + FROM [SOURCEPROJECT].HeightStructureEntity + ) + ); +INSERT INTO HeightStructuresCalculationEntity ( + [HeightStructuresCalculationEntityId], + [CalculationGroupEntityId], + [HydraulicLocationEntityId], + [HeightStructureEntityId], + [ForeshoreProfileEntityId], + [Order], + [Name], + [Comments], + [ModelFactorSuperCriticalFlowMean], + [StructureNormalOrientation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FailureProbabilityStructureWithErosion], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [StormDurationMean], + [LevelCrestStructureMean], + [LevelCrestStructureStandardDeviation], + [DeviationWaveDirection], + [UseBreakWater], + [UseForeshore], + [BreakWaterType], + [BreakWaterHeight], + [ShouldIllustrationPointsBeCalculated]) +SELECT + [HeightStructuresCalculationEntityId], + [CalculationGroupEntityId], + [HydraulicLocationEntityId], + [HeightStructureEntityId], + [ForeshoreProfileEntityId], + [Order], + [Name], + [Comments], + [ModelFactorSuperCriticalFlowMean], + [StructureNormalOrientation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FailureProbabilityStructureWithErosion], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [StormDurationMean], + [LevelCrestStructureMean], + [LevelCrestStructureStandardDeviation], + [DeviationWaveDirection], + [UseBreakWater], + [UseForeshore], + [BreakWaterType], + [BreakWaterHeight], + 0 +FROM [SOURCEPROJECT].HeightStructuresCalculationEntity; +INSERT INTO HeightStructuresFailureMechanismMetaEntity ( + [HeightStructuresFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [N], + [HeightStructureCollectionSourcePath], + [ForeshoreProfileCollectionSourcePath]) +SELECT + [HeightStructuresFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [N], + CASE + WHEN COUNT([HeightStructureEntityId]) + THEN "" + ELSE NULL + END, + CASE + WHEN COUNT([ForeshoreProfileEntityId]) + THEN "" + ELSE NULL + END + FROM [SOURCEPROJECT].HeightStructuresFailureMechanismMetaEntity + LEFT JOIN [SOURCEPROJECT].HeightStructureEntity USING(FailureMechanismEntityId) + LEFT JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING(FailureMechanismEntityId) + GROUP BY FailureMechanismEntityID; +INSERT INTO HeightStructuresSectionResultEntity ( + [HeightStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [HeightStructuresCalculationEntityId], + [LayerOne], + [LayerThree]) +SELECT + [HeightStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [HeightStructuresCalculationEntityId], + [LayerOne], + CASE + WHEN [LayerThree] > 1 OR [LayerThree] < 0 + THEN NULL + ELSE + [LayerThree] + END + FROM [SOURCEPROJECT].HeightStructuresSectionResultEntity; +INSERT INTO HydraulicLocationEntity ( + [HydraulicLocationEntityId], + [AssessmentSectionEntityId], + [LocationId], + [Name], + [LocationX], + [LocationY], + [ShouldWaveHeightIllustrationPointsBeCalculated], + [ShouldDesignWaterLevelIllustrationPointsBeCalculated], + [Order]) +SELECT + [HydraulicLocationEntityId], + [AssessmentSectionEntityId], + [LocationId], + [Name], + [LocationX], + [LocationY], + 0, + 0, + [Order] + FROM [SOURCEPROJECT].HydraulicLocationEntity; +INSERT INTO MacroStabilityInwardsSectionResultEntity ( + [MacroStabilityInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [LayerOne], + [LayerThree]) +SELECT + [MacrostabilityInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [LayerOne], + CASE + WHEN [LayerThree] > 1 OR [LayerThree] < 0 + THEN NULL + ELSE + [LayerThree] + END + FROM [SOURCEPROJECT].MacrostabilityInwardsSectionResultEntity; +INSERT INTO MacrostabilityOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].MacrostabilityOutwardsSectionResultEntity; +INSERT INTO MicrostabilitySectionResultEntity SELECT * FROM [SOURCEPROJECT].MicrostabilitySectionResultEntity; +INSERT INTO PipingCalculationEntity ( + [PipingCalculationEntityId], + [CalculationGroupEntityId], + [SurfaceLineEntityId], + [PipingStochasticSoilProfileEntityId], + [HydraulicLocationEntityId], + [Order], + [Name], + [Comments], + [EntryPointL], + [ExitPointL], + [PhreaticLevelExitMean], + [PhreaticLevelExitStandardDeviation], + [DampingFactorExitMean], + [DampingFactorExitStandardDeviation], + [RelevantForScenario], + [ScenarioContribution], + [AssessmentLevel], + [UseAssessmentLevelManualInput]) +SELECT + [PipingCalculationEntityId], + [CalculationGroupEntityId], + [SurfaceLineEntityId], + [StochasticSoilProfileEntityId], + [HydraulicLocationEntityId], + [Order], + [Name], + [Comments], + [EntryPointL], + [ExitPointL], + [PhreaticLevelExitMean], + [PhreaticLevelExitStandardDeviation], + [DampingFactorExitMean], + [DampingFactorExitStandardDeviation], + [RelevantForScenario], + [ScenarioContribution], + [AssessmentLevel], + [UseAssessmentLevelManualInput] + FROM [SOURCEPROJECT].PipingCalculationEntity; +INSERT INTO PipingCalculationOutputEntity +SELECT * + FROM [SOURCEPROJECT].PipingCalculationOutputEntity + WHERE PipingCalculationEntityId IN ( + SELECT PipingCalculationEntityId + FROM [SOURCEPROJECT].PipingCalculationEntity + WHERE UseAssessmentLevelManualInput IS 1 + ); +INSERT INTO PipingFailureMechanismMetaEntity ( + [PipingFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [A], + [WaterVolumetricWeight], + [StochasticSoilModelCollectionSourcePath], + [SurfaceLineCollectionSourcePath]) +SELECT + [PipingFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [A], + [WaterVolumetricWeight], + [StochasticSoilModelSourcePath], + [SurfaceLineSourcePath] + FROM [SOURCEPROJECT].PipingFailureMechanismMetaEntity; +INSERT INTO PipingSectionResultEntity ( + [PipingSectionResultEntityId], + [FailureMechanismSectionEntityId], + [LayerOne], + [LayerThree]) +SELECT + [PipingSectionResultEntityId], + [FailureMechanismSectionEntityId], + [LayerOne], + CASE + WHEN [LayerThree] > 1 OR [LayerThree] < 0 + THEN NULL + ELSE + [LayerThree] + END + FROM [SOURCEPROJECT].PipingSectionResultEntity; +INSERT INTO PipingSemiProbabilisticOutputEntity +SELECT * + FROM [SOURCEPROJECT].PipingSemiProbabilisticOutputEntity + WHERE PipingCalculationEntityId IN ( + SELECT PipingCalculationEntityId + FROM [SOURCEPROJECT].PipingCalculationEntity + WHERE UseAssessmentLevelManualInput IS 1 + ); +INSERT INTO PipingStructureSectionResultEntity SELECT * FROM [SOURCEPROJECT].PipingStructureSectionResultEntity; +INSERT INTO ProjectEntity SELECT * FROM [SOURCEPROJECT].ProjectEntity; +INSERT INTO PipingSoilLayerEntity ( + [PipingSoilLayerEntityId], + [PipingSoilProfileEntityId], + [Top], + [IsAquifer], + [Color], + [MaterialName], + [BelowPhreaticLevelMean], + [BelowPhreaticLevelDeviation], + [BelowPhreaticLevelShift], + [DiameterD70Mean], + [DiameterD70CoefficientOfVariation], + [PermeabilityMean], + [PermeabilityCoefficientOfVariation], + [Order]) +SELECT + [SoilLayerEntityId], + [SoilProfileEntityId], + [Top], + [IsAquifer], + CASE + WHEN [Color] IS 0 + THEN NULL + ELSE + [Color] + END, + [MaterialName], + [BelowPhreaticLevelMean], + [BelowPhreaticLevelDeviation], + [BelowPhreaticLevelShift], + [DiameterD70Mean], + [DiameterD70CoefficientOfVariation], + [PermeabilityMean], + [PermeabilityCoefficientOfVariation], + [Order] + FROM [SOURCEPROJECT].SoilLayerEntity; +INSERT INTO PipingSoilProfileEntity ( + [PipingSoilProfileEntityId], + [Bottom], + [Name], + [SourceType]) +SELECT + [SoilProfileEntityId], + [Bottom], + CASE + WHEN [Name] IS NULL + THEN "" + ELSE + [Name] + END, + ( + SELECT SSP.[Type] + FROM [SOURCEPROJECT].StochasticSoilProfileEntity SSP + WHERE SSP.SoilProfileEntityId IS SP.SoilProfileEntityId + LIMIT 1 + ) AS [SourceType] + FROM [SOURCEPROJECT].SoilProfileEntity SP; +INSERT INTO StabilityPointStructureEntity ( + [StabilityPointStructureEntityId], + [FailureMechanismEntityId], + [Order], + [Name], + [Id], + [X], + [Y], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ConstructiveStrengthLinearLoadModelMean], + [ConstructiveStrengthLinearLoadModelCoefficientOfVariation], + [ConstructiveStrengthQuadraticLoadModelMean], + [ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation], + [BankWidthMean], + [BankWidthStandardDeviation], + [InsideWaterLevelFailureConstructionMean], + [InsideWaterLevelFailureConstructionStandardDeviation], + [EvaluationLevel], + [LevelCrestStructureMean], + [LevelCrestStructureStandardDeviation], + [VerticalDistance], + [FailureProbabilityRepairClosure], + [FailureCollisionEnergyMean], + [FailureCollisionEnergyCoefficientOfVariation], + [ShipMassMean], + [ShipMassCoefficientOfVariation], + [ShipVelocityMean], + [ShipVelocityCoefficientOfVariation], + [LevellingCount], + [ProbabilityCollisionSecondaryStructure], + [FlowVelocityStructureClosableMean], + [StabilityLinearLoadModelMean], + [StabilityLinearLoadModelCoefficientOfVariation], + [StabilityQuadraticLoadModelMean], + [StabilityQuadraticLoadModelCoefficientOfVariation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [InflowModelType]) +SELECT + [StabilityPointStructureEntityId], + [FailureMechanismEntityId], + [Order], + [Name], + CASE + WHEN Suffix + THEN [Id] || SUBSTR(QUOTE(ZEROBLOB((SuffixPreLength + 1) / 2)), 3, SuffixPreLength) || Suffix + ELSE [Id] + END AS [Id], + [X], + [Y], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ConstructiveStrengthLinearLoadModelMean], + [ConstructiveStrengthLinearLoadModelCoefficientOfVariation], + [ConstructiveStrengthQuadraticLoadModelMean], + [ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation], + [BankWidthMean], + [BankWidthStandardDeviation], + [InsideWaterLevelFailureConstructionMean], + [InsideWaterLevelFailureConstructionStandardDeviation], + [EvaluationLevel], + [LevelCrestStructureMean], + [LevelCrestStructureStandardDeviation], + [VerticalDistance], + [FailureProbabilityRepairClosure], + [FailureCollisionEnergyMean], + [FailureCollisionEnergyCoefficientOfVariation], + [ShipMassMean], + [ShipMassCoefficientOfVariation], + [ShipVelocityMean], + [ShipVelocityCoefficientOfVariation], + [LevellingCount], + [ProbabilityCollisionSecondaryStructure], + [FlowVelocityStructureClosableMean], + [StabilityLinearLoadModelMean], + [StabilityLinearLoadModelCoefficientOfVariation], + [StabilityQuadraticLoadModelMean], + [StabilityQuadraticLoadModelCoefficientOfVariation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [InflowModelType] + FROM ( + SELECT *, + MaxLength - LENGTH([Id]) AS SuffixPreLength, + ( + SELECT SPS.rowid + FROM [SOURCEPROJECT].StabilityPointStructureEntity + WHERE SPS.[StabilityPointStructureEntityId] > [StabilityPointStructureEntityId] + AND SPS.[Id] IS [Id] + AND SPS.[FailuremechanismEntityId] = [FailuremechanismEntityId] + ) AS Suffix + FROM [SOURCEPROJECT].StabilityPointStructureEntity SPS + JOIN ( + SELECT MAX(LENGTH([Id])) AS MaxLength + FROM [SOURCEPROJECT].StabilityPointStructureEntity + ) + ); +INSERT INTO StabilityPointStructuresCalculationEntity ( + [StabilityPointStructuresCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + [StabilityPointStructureEntityId], + [Order], + [Name], + [Comments], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ConstructiveStrengthLinearLoadModelMean], + [ConstructiveStrengthLinearLoadModelCoefficientOfVariation], + [ConstructiveStrengthQuadraticLoadModelMean], + [ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation], + [BankWidthMean], + [BankWidthStandardDeviation], + [InsideWaterLevelFailureConstructionMean], + [InsideWaterLevelFailureConstructionStandardDeviation], + [EvaluationLevel], + [LevelCrestStructureMean], + [LevelCrestStructureStandardDeviation], + [VerticalDistance], + [FailureProbabilityRepairClosure], + [FailureCollisionEnergyMean], + [FailureCollisionEnergyCoefficientOfVariation], + [ShipMassMean], + [ShipMassCoefficientOfVariation], + [ShipVelocityMean], + [ShipVelocityCoefficientOfVariation], + [LevellingCount], + [ProbabilityCollisionSecondaryStructure], + [FlowVelocityStructureClosableMean], + [StabilityLinearLoadModelMean], + [StabilityLinearLoadModelCoefficientOfVariation], + [StabilityQuadraticLoadModelMean], + [StabilityQuadraticLoadModelCoefficientOfVariation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [InflowModelType], + [LoadSchematizationType], + [VolumicWeightWater], + [StormDurationMean], + [ModelFactorSuperCriticalFlowMean], + [FactorStormDurationOpenStructure], + [DrainCoefficientMean], + [FailureProbabilityStructureWithErosion], + [ShouldIllustrationPointsBeCalculated]) +SELECT + [StabilityPointStructuresCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + [StabilityPointStructureEntityId], + [Order], + [Name], + [Comments], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ConstructiveStrengthLinearLoadModelMean], + [ConstructiveStrengthLinearLoadModelCoefficientOfVariation], + [ConstructiveStrengthQuadraticLoadModelMean], + [ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation], + [BankWidthMean], + [BankWidthStandardDeviation], + [InsideWaterLevelFailureConstructionMean], + [InsideWaterLevelFailureConstructionStandardDeviation], + [EvaluationLevel], + [LevelCrestStructureMean], + [LevelCrestStructureStandardDeviation], + [VerticalDistance], + [FailureProbabilityRepairClosure], + [FailureCollisionEnergyMean], + [FailureCollisionEnergyCoefficientOfVariation], + [ShipMassMean], + [ShipMassCoefficientOfVariation], + [ShipVelocityMean], + [ShipVelocityCoefficientOfVariation], + [LevellingCount], + [ProbabilityCollisionSecondaryStructure], + [FlowVelocityStructureClosableMean], + [StabilityLinearLoadModelMean], + [StabilityLinearLoadModelCoefficientOfVariation], + [StabilityQuadraticLoadModelMean], + [StabilityQuadraticLoadModelCoefficientOfVariation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [InflowModelType], + [LoadSchematizationType], + [VolumicWeightWater], + [StormDurationMean], + [ModelFactorSuperCriticalFlowMean], + [FactorStormDurationOpenStructure], + [DrainCoefficientMean], + [FailureProbabilityStructureWithErosion], + 0 +FROM [SOURCEPROJECT].StabilityPointStructuresCalculationEntity; +INSERT INTO StabilityPointStructuresFailureMechanismMetaEntity ( + [StabilityPointStructuresFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [N], + [ForeshoreProfileCollectionSourcePath], + [StabilityPointStructureCollectionSourcePath]) +SELECT + [StrengthStabilityPointConstructionFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [N], + CASE + WHEN COUNT([ForeshoreProfileEntityId]) + THEN "" + ELSE NULL + END, + CASE + WHEN COUNT([StabilityPointStructureEntityId]) + THEN "" + ELSE NULL + END + FROM [SOURCEPROJECT].StabilityPointStructuresFailureMechanismMetaEntity + LEFT JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING (FailureMechanismEntityId) + LEFT JOIN [SOURCEPROJECT].StabilityPointStructureEntity USING (FailureMechanismEntityId) + GROUP BY FailureMechanismEntityId; +INSERT INTO StabilityPointStructuresSectionResultEntity ( + [StabilityPointStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [StabilityPointStructuresCalculationEntityId], + [LayerOne], + [LayerThree]) +SELECT + [StabilityPointStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [StabilityPointStructuresCalculationEntityId], + [LayerOne], + CASE + WHEN [LayerThree] > 1 OR [LayerThree] < 0 + THEN NULL + ELSE + [LayerThree] + END + FROM [SOURCEPROJECT].StabilityPointStructuresSectionResultEntity; +INSERT INTO StabilityStoneCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverSectionResultEntity; +INSERT INTO StabilityStoneCoverWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsCalculationEntity; +INSERT INTO StabilityStoneCoverFailureMechanismMetaEntity ( + [FailureMechanismEntityId], + [ForeshoreProfileCollectionSourcePath]) +SELECT + [FailureMechanismEntityId], + CASE + WHEN COUNT([ForeshoreProfileEntityId]) + THEN "" + ELSE NULL + END + FROM [SOURCEPROJECT].FailureMechanismEntity + LEFT JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING (FailureMechanismEntityID) + WHERE FailureMechanismType = 7 + GROUP BY FailureMechanismEntityID; +INSERT INTO StochasticSoilModelEntity ( + [StochasticSoilModelEntityId], + [FailureMechanismEntityId], + [Name], + [StochasticSoilModelSegmentPointXml], + [Order]) +SELECT + [StochasticSoilModelEntityId], + [FailureMechanismEntityId], + [Name], + [StochasticSoilModelSegmentPointXml], + [Order] + FROM [SOURCEPROJECT].StochasticSoilModelEntity; +INSERT INTO PipingStochasticSoilProfileEntity ( + [PipingStochasticSoilProfileEntityId], + [PipingSoilProfileEntityId], + [StochasticSoilModelEntityId], + [Probability], + [Order]) +SELECT + [StochasticSoilProfileEntityId], + [SoilProfileEntityId], + [StochasticSoilModelEntityId], + [Probability], + [Order] + FROM [SOURCEPROJECT].StochasticSoilProfileEntity; +INSERT INTO StrengthStabilityLengthwiseConstructionSectionResultEntity SELECT * FROM [SOURCEPROJECT].StrengthStabilityLengthwiseConstructionSectionResultEntity; +INSERT INTO SurfaceLineEntity ( + [SurfaceLineEntityId], + [FailureMechanismEntityId], + [Name], + [ReferenceLineIntersectionX], + [ReferenceLineIntersectionY], + [PointsXml], + [Order]) +SELECT + [SurfaceLineEntityId], + [FailureMechanismEntityId], + CASE + WHEN [Name] IS NULL + THEN "" + ELSE + [Name] + END, + [ReferenceLineIntersectionX], + [ReferenceLineIntersectionY], + [PointsXml], + [Order] + FROM [SOURCEPROJECT].SurfaceLineEntity; +INSERT INTO TechnicalInnovationSectionResultEntity SELECT * FROM [SOURCEPROJECT].TechnicalInnovationSectionResultEntity; +INSERT INTO VersionEntity ( + [VersionId], + [Version], + [Timestamp], + [FingerPrint]) +SELECT [VersionId], + "17.2", + [Timestamp], + [FingerPrint] + FROM [SOURCEPROJECT].VersionEntity; +INSERT INTO WaterPressureAsphaltCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].WaterPressureAsphaltCoverSectionResultEntity; +INSERT INTO WaveImpactAsphaltCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverSectionResultEntity; +INSERT INTO WaveImpactAsphaltCoverWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsCalculationEntity; +INSERT INTO WaveImpactAsphaltCoverFailureMechanismMetaEntity ( + [FailureMechanismEntityId], + [ForeshoreProfileCollectionSourcePath]) +SELECT + [FailureMechanismEntityId], + CASE + WHEN COUNT([ForeshoreProfileEntityId]) + THEN "" + ELSE NULL + END + FROM [SOURCEPROJECT].FailureMechanismEntity + LEFT JOIN [SOURCEPROJECT].ForeshoreProfileEntity USING (FailureMechanismEntityID) + WHERE FailureMechanismType = 3 + GROUP BY FailureMechanismEntityID; + +/* +Outputs that used HydraRing are not migrated +*/ +-- ClosingStructuresOutputEntity +-- DuneLocationOutputEntity +-- GrassCoverErosionInwardsDikeHeightOutputEntity +-- GrassCoverErosionInwardsOutputEntity +-- GrassCoverErosionInwardsOvertoppingRateOutputEntity +-- GrassCoverErosionOutwardsHydraulicLocationOutputEntity +-- GrassCoverErosionOutwardsWaveConditionsOutputEntity +-- HeightStructuresOutputEntity +-- HydraulicLocationOutputEntity +-- StabilityPointStructuresOutputEntity +-- StabilityStoneCoverWaveConditionsOutputEntity +-- WaveImpactAsphaltCoverWaveConditionsOutputEntity + +/* +Insert new data +*/ +INSERT INTO MacroStabilityInwardsFailureMechanismMetaEntity ( + [FailureMechanismEntityId], + [A]) +SELECT FailureMechanismEntityId, + 0.033 + FROM FailureMechanismEntity WHERE FailureMechanismType = 2; + +-- Insert new groups +INSERT INTO CalculationGroupEntity ( + [Name], + [Order]) +SELECT + "Berekeningen", + 0 + FROM FailureMechanismEntity + WHERE FailureMechanismType = 2; + +-- Create temp table to store the new calculation group ids +CREATE TEMP TABLE TempCalculationGroupEntity +( + 'CalculationGroupId' INTEGER NOT NULL, + 'FailureMechanismId' INTEGER NOT NULL, + PRIMARY KEY ('CalculationGroupId', 'FailureMechanismId') +) WITHOUT ROWID; + +-- Store the new calculation group ids +INSERT INTO TempCalculationGroupEntity ( + [CalculationGroupId], + [FailureMechanismId]) +SELECT + last_insert_rowid() - ( + SELECT COUNT() + FROM AssessmentSectionEntity ase + WHERE fme.AssessmentSectionEntityId >= ase.AssessmentSectionEntityId + ) + 1, + FailureMechanismEntityId + FROM FailureMechanismEntity fme + WHERE fme.FailureMechanismType = 2 + ORDER BY AssessmentSectionEntityId; + +-- Link groups to all Macro (2) failure mechanisms +UPDATE FailureMechanismEntity + SET CalculationGroupEntityId = ( + SELECT CalculationGroupId + FROM TempCalculationGroupEntity + WHERE FailureMechanismId = FailureMechanismEntity.FailureMechanismEntityId + ) + WHERE FailureMechanismType = 2; + +-- Cleanup +DROP TABLE TempCalculationGroupEntity; + +/* +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 ("17.1", "17.2", "Gevolgen van de migratie van versie 17.1 naar versie 17.2:"); + +CREATE TEMP TABLE TempLogOutputDeleted +( + 'NrDeleted' INTEGER NOT NULL +); + +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].ClosingStructuresOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].DuneLocationOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionInwardsDikeHeightOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionInwardsOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionInwardsOvertoppingRateOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionOutwardsHydraulicLocationOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].HeightStructuresOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].HydraulicLocationOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].StabilityPointStructuresOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsOutputEntity; +INSERT INTO TempLogOutputDeleted +SELECT COUNT() + FROM [SOURCEPROJECT].PipingSemiProbabilisticOutputEntity + WHERE PipingCalculationEntityId IN ( + SELECT PipingCalculationEntityId + FROM [SOURCEPROJECT].PipingCalculationEntity + WHERE UseAssessmentLevelManualInput IS 0 + ); +INSERT INTO TempLogOutputDeleted +SELECT COUNT() + FROM [SOURCEPROJECT].PipingCalculationOutputEntity + WHERE PipingCalculationEntityId IN ( + SELECT PipingCalculationEntityId + FROM [SOURCEPROJECT].PipingCalculationEntity + WHERE UseAssessmentLevelManualInput IS 0 + ); + +CREATE TEMP TABLE TempLogOutputRemaining +( + 'NrRemaining' INTEGER NOT NULL +); +INSERT INTO TempLogOutputRemaining +SELECT COUNT() + FROM [SOURCEPROJECT].PipingSemiProbabilisticOutputEntity + WHERE PipingCalculationEntityId IN ( + SELECT PipingCalculationEntityId + FROM [SOURCEPROJECT].PipingCalculationEntity + WHERE UseAssessmentLevelManualInput IS 1 + ); +INSERT INTO TempLogOutputRemaining +SELECT COUNT() + FROM [SOURCEPROJECT].PipingCalculationOutputEntity + WHERE PipingCalculationEntityId IN ( + SELECT PipingCalculationEntityId + FROM [SOURCEPROJECT].PipingCalculationEntity + WHERE UseAssessmentLevelManualInput IS 1 + ); + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +SELECT + "17.1", + "17.2", + CASE + WHEN [NrRemaining] > 0 + THEN "* Alle berekende resultaten zijn verwijderd, behalve die van het toetsspoor 'Piping' waarbij de waterstand handmatig is ingevuld." + ELSE "* Alle berekende resultaten zijn verwijderd." + END + FROM TempLogOutputDeleted + LEFT JOIN TempLogOutputRemaining + WHERE [NrDeleted] > 0 + LIMIT 1; + +DROP TABLE TempLogOutputDeleted; +DROP TABLE TempLogOutputRemaining; + +CREATE TEMP TABLE TempFailureMechanisms +( + 'FailureMechanismType' INTEGER NOT NULL, + 'FailureMechanismName' VARCHAR(255) NOT NULL +); + +INSERT INTO TempFailureMechanisms VALUES (1, 'Piping'); +INSERT INTO TempFailureMechanisms VALUES (2, 'Macrostabiliteit binnenwaarts'); +INSERT INTO TempFailureMechanisms VALUES (3, 'Golfklappen op asfaltbekleding'); +INSERT INTO TempFailureMechanisms VALUES (4, 'Grasbekleding erosie buitentalud'); +INSERT INTO TempFailureMechanisms VALUES (5, 'Grasbekleding afschuiven buitentalud'); +INSERT INTO TempFailureMechanisms VALUES (6, 'Grasbekleding erosie kruin en binnentalud'); +INSERT INTO TempFailureMechanisms VALUES (7, 'Stabiliteit steenzetting'); +INSERT INTO TempFailureMechanisms VALUES (8, 'Duinafslag'); +INSERT INTO TempFailureMechanisms VALUES (9, 'Hoogte kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (10, 'Betrouwbaarheid sluiting kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (11, 'Piping bij kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (12, 'Sterkte en stabiliteit puntconstructies'); +INSERT INTO TempFailureMechanisms VALUES (13, 'Macrostabiliteit buitenwaarts'); +INSERT INTO TempFailureMechanisms VALUES (14, 'Microstabiliteit'); +INSERT INTO TempFailureMechanisms VALUES (15, 'Wateroverdruk bij asfaltbekleding'); +INSERT INTO TempFailureMechanisms VALUES (16, 'Grasbekleding afschuiven binnentalud'); +INSERT INTO TempFailureMechanisms VALUES (17, 'Sterkte en stabiliteit langsconstructies'); +INSERT INTO TempFailureMechanisms VALUES (18, 'Technische innovaties'); + +CREATE TEMP TABLE TempAssessmentSectionChanges +( + [AssessmentSectionId], + [AssessmentSectionName], + [Order], + [msg] +); + +INSERT INTO TempAssessmentSectionChanges +SELECT + [AssessmentSectionEntityId], + [Name], + 0, + "De ondergrens is gelijk gesteld aan 1/" || CAST(ROUND(CAST(1.0 / [LowerLimitNorm] AS FLOAT)) AS INT) || + CASE + WHEN [NormativeNormType] IS 1 + THEN " (voorheen de waarde van de norm)" + ELSE "" + END || "." + FROM AssessmentSectionEntity + +UNION + +SELECT + [AssessmentSectionEntityId], + [Name], + 1, + "De signaleringswaarde is gelijk gesteld aan 1/" || CAST(ROUND(CAST(1.0 / [SignalingNorm] AS FLOAT)) AS INT) || + CASE + WHEN [NormativeNormType] IS 2 + THEN " (voorheen de waarde van de norm)" + ELSE "" + END || "." + FROM AssessmentSectionEntity + +UNION + +SELECT + [AssessmentSectionEntityId], + [Name], + 2, + "De norm van het dijktraject is gelijk gesteld aan de " || + CASE + WHEN [NormativeNormType] IS 1 + THEN "ondergrens" + ELSE "signaleringswaarde" + END || "." + FROM AssessmentSectionEntity; + +CREATE TEMP TABLE TempAssessmentSectionFailureMechanism +( + [AssessmentSectionId], + [AssessmentSectionName], + [FailureMechanismId], + [FailureMechanismName] +); + +INSERT INTO TempAssessmentSectionFailureMechanism +SELECT + [AssessmentSectionEntityId], + [Name], + [FailureMechanismEntityId], + [FailureMechanismName] + FROM AssessmentSectionEntity + JOIN FailureMechanismEntity USING (AssessmentSectionEntityId) + JOIN TempFailureMechanisms USING (FailureMechanismType); + +CREATE TEMP TABLE TempChanges +( + [AssessmentSectionId], + [AssessmentSectionName], + [FailureMechanismId], + [FailureMechanismName], + [msg] +); + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Het ID van voorlandprofiel '" || source.[Id] || "' is veranderd naar '" || fp.[Id] || "'." + FROM ForeshoreProfileEntity AS fp + JOIN [SOURCEPROJECT].ForeshoreProfileEntity AS source ON fp.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fp.[FailureMechanismEntityId] + WHERE source.[Id] IS NOT fp.[Id]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Het ID van kunstwerk '" || source.[Id] || "' is veranderd naar '" || hs.[Id] || "'." + FROM HeightStructureEntity AS hs + JOIN [SOURCEPROJECT].HeightStructureEntity AS source ON hs.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = hs.[FailureMechanismEntityId] + WHERE source.[Id] IS NOT hs.[Id]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Het ID van kunstwerk '" || source.[Id] || "' is veranderd naar '" || cs.[Id] || "'." + FROM ClosingStructureEntity AS cs + JOIN [SOURCEPROJECT].ClosingStructureEntity AS source ON cs.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = cs.[FailureMechanismEntityId] + WHERE source.[Id] IS NOT cs.[Id]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Het ID van kunstwerk '" || source.[Id] || "' is veranderd naar '" || sps.[Id] || "'." + FROM StabilityPointStructureEntity AS sps + JOIN [SOURCEPROJECT].StabilityPointStructureEntity AS source ON sps.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = sps.[FailureMechanismEntityId] + WHERE source.[Id] IS NOT sps.[Id]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Het geregistreerde resultaat voor de toets op maat in '" || fms.[Name] || "' ('" || source.[LayerThree] || "') kon niet worden geconverteerd naar een geldige kans en is verwijderd." + FROM PipingSectionResultEntity as psr + JOIN [SOURCEPROJECT].PipingSectionResultEntity AS source ON psr.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = psr.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL AND psr.[LayerThree] IS NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Het geregistreerde resultaat voor de toets op maat in '" || fms.[Name] || "' ('" || source.[LayerThree] || "') kon niet worden geconverteerd naar een geldige kans en is verwijderd." + FROM GrassCoverErosionInwardsSectionResultEntity as gceisr + JOIN [SOURCEPROJECT].GrassCoverErosionInwardsSectionResultEntity AS source ON gceisr.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = gceisr.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL AND gceisr.[LayerThree] IS NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Het geregistreerde resultaat voor de toets op maat in '" || fms.[Name] || "' ('" || source.[LayerThree] || "') kon niet worden geconverteerd naar een geldige kans en is verwijderd." + FROM ClosingStructuresSectionResultEntity as cssr + JOIN [SOURCEPROJECT].ClosingStructuresSectionResultEntity AS source ON cssr.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = cssr.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL AND cssr.[LayerThree] IS NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Het geregistreerde resultaat voor de toets op maat in '" || fms.[Name] || "' ('" || source.[LayerThree] || "') kon niet worden geconverteerd naar een geldige kans en is verwijderd." + FROM HeightStructuresSectionResultEntity as hssr + JOIN [SOURCEPROJECT].HeightStructuresSectionResultEntity AS source ON hssr.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = hssr.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL AND hssr.[LayerThree] IS NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Het geregistreerde resultaat voor de toets op maat in '" || fms.[Name] || "' ('" || source.[LayerThree] || "') kon niet worden geconverteerd naar een geldige kans en is verwijderd." + FROM StabilityPointStructuresSectionResultEntity as spssr + JOIN [SOURCEPROJECT].StabilityPointStructuresSectionResultEntity AS source ON spssr.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = spssr.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL AND spssr.[LayerThree] IS NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Het geregistreerde resultaat voor de toets op maat in '" || fms.[Name] || "' ('" || source.[LayerThree] || "') kon niet worden geconverteerd naar een geldige kans en is verwijderd." + FROM MacroStabilityInwardsSectionResultEntity as msisr + JOIN [SOURCEPROJECT].MacroStabilityInwardsSectionResultEntity AS source ON msisr.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = msisr.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL AND msisr.[LayerThree] IS NULL; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +WITH RECURSIVE +FailureMechanismMessages +( + [FailureMechanismId], + [FailureMechanismName], + [AssessmentSectionId], + [AssessmentSectionName], + [msg], + [level] +) AS ( +SELECT DISTINCT + [FailureMechanismId], + [FailureMechanismName], + [AssessmentSectionId], + [AssessmentSectionName], + NULL, + 1 + FROM TempChanges + UNION +SELECT + [FailureMechanismId], + NULL, + [AssessmentSectionId], + [AssessmentSectionName], + [msg], + 2 + FROM TempChanges + WHERE TempChanges.[FailureMechanismId] IS [FailureMechanismId] + ORDER BY [FailureMechanismId], [AssessmentSectionId] +), +AssessmentSectionFailureMechanismMessages +( + [AssessmentSectionId], + [AssessmentSectionName], + [IsAssessmentSectionHeader], + [FailureMechanismId], + [FailureMechanismName], + [msg], + [level], + [Order] +) AS ( + SELECT DISTINCT + [AssessmentSectionId], + [AssessmentSectionName], + 1, + NULL, + NULL, + NULL, + 1, + 0 + FROM + ( + SELECT + [AssessmentSectionId], + [AssessmentSectionName] + FROM TempAssessmentSectionChanges + UNION + SELECT + [AssessmentSectionId], + [AssessmentSectionName] + FROM FailureMechanismMessages + WHERE [AssessmentSectionId] IS NOT NULL + ) + + UNION + + SELECT + * + FROM + ( + SELECT + [AssessmentSectionId], + [AssessmentSectionName], + 0 AS [IsAssessmentSectionHeader], + NULL AS [FailureMechanismId], + NULL, + [msg], + 1 AS [level], + [Order] + FROM TempAssessmentSectionChanges + + UNION + + SELECT + [AssessmentSectionId], + NULL, + 0 AS [IsAssessmentSectionHeader], + fmm.[FailureMechanismId] AS [FailureMechanismId], + fmm.[FailureMechanismName], + [msg], + fmm.[level] AS [level], + 1 AS [Order] + FROM FailureMechanismMessages AS fmm + WHERE fmm.[AssessmentSectionId] IS [AssessmentSectionId] + + ) ORDER BY [AssessmentSectionId], [FailureMechanismId], [level], [IsAssessmentSectionHeader] DESC, [Order] +) +SELECT + "17.1", + "17.2", + CASE + WHEN [AssessmentSectionName] IS NOT NULL + THEN + CASE WHEN [IsAssessmentSectionHeader] IS 1 + THEN "* Traject: '" || [AssessmentSectionName] || "'" + ELSE + " + " || [msg] + END + ELSE + CASE + WHEN [FailureMechanismName] IS NOT NULL + THEN " + Toetsspoor: '" || [FailureMechanismName] || "'" + ELSE + " - " || [msg] + END + END +FROM AssessmentSectionFailureMechanismMessages; + +DROP TABLE TempAssessmentSectionChanges; +DROP TABLE TempFailureMechanisms; +DROP TABLE TempAssessmentReturnPeriod; +DROP TABLE TempAssessmentSectionFailureMechanism; +DROP TABLE TempChanges; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +SELECT "17.1", + "17.2", + "* Geen aanpassingen." + WHERE ( + SELECT COUNT() FROM [LOGDATABASE].MigrationLogEntity + WHERE [FromVersion] = "17.1" + ) IS 1; + +DETACH LOGDATABASE; + +DETACH SOURCEPROJECT; + +PRAGMA foreign_keys = ON; \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_17.2_17.3.sql =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_17.2_17.3.sql (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_17.2_17.3.sql (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,178 @@ +/* +Migration script for migrating Ringtoets databases. +SourceProject version: 17.2 +TargetProject version: 17.3 +*/ +PRAGMA foreign_keys = OFF; + +ATTACH DATABASE "{0}" AS SOURCEPROJECT; + +INSERT INTO AssessmentSectionEntity SELECT * FROM [SOURCEPROJECT].AssessmentSectionEntity; +INSERT INTO BackgroundDataEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataEntity; +INSERT INTO BackgroundDataMetaEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataMetaEntity; +INSERT INTO CalculationGroupEntity SELECT * FROM [SOURCEPROJECT].CalculationGroupEntity; +INSERT INTO ClosingStructureEntity SELECT * FROM [SOURCEPROJECT].ClosingStructureEntity; +INSERT INTO ClosingStructuresCalculationEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresCalculationEntity; +INSERT INTO ClosingStructuresFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresFailureMechanismMetaEntity; +INSERT INTO ClosingStructuresOutputEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresOutputEntity; +INSERT INTO ClosingStructuresSectionResultEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresSectionResultEntity; +INSERT INTO DikeProfileEntity SELECT * FROM [SOURCEPROJECT].DikeProfileEntity; +INSERT INTO DuneErosionFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].DuneErosionFailureMechanismMetaEntity; +INSERT INTO DuneErosionSectionResultEntity SELECT * FROM [SOURCEPROJECT].DuneErosionSectionResultEntity; +INSERT INTO DuneLocationEntity SELECT * FROM [SOURCEPROJECT].DuneLocationEntity; +INSERT INTO DuneLocationOutputEntity SELECT * FROM [SOURCEPROJECT].DuneLocationOutputEntity; +INSERT INTO FailureMechanismEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismEntity; +INSERT INTO FailureMechanismSectionEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismSectionEntity; +INSERT INTO FaultTreeIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].FaultTreeIllustrationPointEntity; +INSERT INTO FaultTreeIllustrationPointStochastEntity SELECT * FROM [SOURCEPROJECT].FaultTreeIllustrationPointStochastEntity; +INSERT INTO FaultTreeSubmechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].FaultTreeSubmechanismIllustrationPointEntity; +INSERT INTO ForeshoreProfileEntity SELECT * FROM [SOURCEPROJECT].ForeshoreProfileEntity; +INSERT INTO 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 GrassCoverErosionInwardsCalculationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsCalculationEntity; +INSERT INTO GrassCoverErosionInwardsDikeHeightOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsDikeHeightOutputEntity; +INSERT INTO GrassCoverErosionInwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsFailureMechanismMetaEntity; +INSERT INTO GrassCoverErosionInwardsOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsOutputEntity; +INSERT INTO GrassCoverErosionInwardsOvertoppingRateOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsOvertoppingRateOutputEntity; +INSERT INTO GrassCoverErosionInwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsSectionResultEntity; +INSERT INTO GrassCoverErosionOutwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsFailureMechanismMetaEntity; +INSERT INTO GrassCoverErosionOutwardsHydraulicLocationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsHydraulicLocationEntity; +INSERT INTO GrassCoverErosionOutwardsHydraulicLocationOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsHydraulicLocationOutputEntity; +INSERT INTO GrassCoverErosionOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsSectionResultEntity; +INSERT INTO GrassCoverErosionOutwardsWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsCalculationEntity; +INSERT INTO GrassCoverErosionOutwardsWaveConditionsOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsOutputEntity; +INSERT INTO GrassCoverSlipOffInwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverSlipOffInwardsSectionResultEntity; +INSERT INTO GrassCoverSlipOffOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverSlipOffOutwardsSectionResultEntity; +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 HeightStructuresSectionResultEntity SELECT * FROM [SOURCEPROJECT].HeightStructuresSectionResultEntity; +INSERT INTO HydraulicLocationEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationEntity; +INSERT INTO HydraulicLocationOutputEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationOutputEntity; +INSERT INTO IllustrationPointResultEntity SELECT * FROM [SOURCEPROJECT].IllustrationPointResultEntity; +INSERT INTO MacroStabilityInwardsCalculationEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsCalculationEntity; +INSERT INTO MacroStabilityInwardsCharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsCharacteristicPointEntity; +INSERT INTO MacroStabilityInwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsFailureMechanismMetaEntity; +INSERT INTO MacroStabilityInwardsPreconsolidationStressEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsPreconsolidationStressEntity; +INSERT INTO MacroStabilityInwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSectionResultEntity; +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 MacrostabilityOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].MacrostabilityOutwardsSectionResultEntity; +INSERT INTO MicrostabilitySectionResultEntity SELECT * FROM [SOURCEPROJECT].MicrostabilitySectionResultEntity; +INSERT INTO PipingCalculationEntity SELECT * FROM [SOURCEPROJECT].PipingCalculationEntity; +INSERT INTO PipingCalculationOutputEntity SELECT * FROM [SOURCEPROJECT].PipingCalculationOutputEntity; +INSERT INTO PipingCharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].PipingCharacteristicPointEntity; +INSERT INTO PipingFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].PipingFailureMechanismMetaEntity; +INSERT INTO PipingSectionResultEntity SELECT * FROM [SOURCEPROJECT].PipingSectionResultEntity; +INSERT INTO PipingSemiProbabilisticOutputEntity SELECT * FROM [SOURCEPROJECT].PipingSemiProbabilisticOutputEntity; +INSERT INTO PipingSoilLayerEntity SELECT * FROM [SOURCEPROJECT].PipingSoilLayerEntity; +INSERT INTO PipingSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingSoilProfileEntity; +INSERT INTO PipingStochasticSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingStochasticSoilProfileEntity; +INSERT INTO PipingStructureSectionResultEntity SELECT * FROM [SOURCEPROJECT].PipingStructureSectionResultEntity; +INSERT INTO ProjectEntity SELECT * FROM [SOURCEPROJECT].ProjectEntity; +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 StabilityPointStructuresSectionResultEntity SELECT * FROM [SOURCEPROJECT].StabilityPointStructuresSectionResultEntity; +INSERT INTO StabilityStoneCoverFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverFailureMechanismMetaEntity; +INSERT INTO StabilityStoneCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverSectionResultEntity; +INSERT INTO StabilityStoneCoverWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsCalculationEntity; +INSERT INTO StabilityStoneCoverWaveConditionsOutputEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsOutputEntity; +INSERT INTO StochastEntity SELECT * FROM [SOURCEPROJECT].StochastEntity; +INSERT INTO StochasticSoilModelEntity SELECT * FROM [SOURCEPROJECT].StochasticSoilModelEntity; +INSERT INTO StrengthStabilityLengthwiseConstructionSectionResultEntity SELECT * FROM [SOURCEPROJECT].StrengthStabilityLengthwiseConstructionSectionResultEntity; +INSERT INTO SubMechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].SubMechanismIllustrationPointEntity; +INSERT INTO SubMechanismIllustrationPointStochastEntity SELECT * FROM [SOURCEPROJECT].SubMechanismIllustrationPointStochastEntity; +INSERT INTO SurfaceLineEntity SELECT * FROM [SOURCEPROJECT].SurfaceLineEntity; +INSERT INTO TechnicalInnovationSectionResultEntity SELECT * FROM [SOURCEPROJECT].TechnicalInnovationSectionResultEntity; +INSERT INTO TopLevelFaultTreeIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].TopLevelFaultTreeIllustrationPointEntity; +INSERT INTO TopLevelSubMechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].TopLevelSubMechanismIllustrationPointEntity; +INSERT INTO VersionEntity ( + [VersionId], + [Version], + [Timestamp], + [FingerPrint]) +SELECT [VersionId], + "17.3", + [Timestamp], + [FingerPrint] +FROM [SOURCEPROJECT].VersionEntity; +INSERT INTO WaterPressureAsphaltCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].WaterPressureAsphaltCoverSectionResultEntity; +INSERT INTO WaveImpactAsphaltCoverFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverFailureMechanismMetaEntity; +INSERT INTO WaveImpactAsphaltCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverSectionResultEntity; +INSERT INTO WaveImpactAsphaltCoverWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsCalculationEntity; +INSERT INTO WaveImpactAsphaltCoverWaveConditionsOutputEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsOutputEntity; + +/* +Following outputs are not migrated: +*/ +--MacroStabilityInwardsCalculationOutputEntity +--MacroStabilityInwardsSemiProbabilisticOutputEntity + +/* +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 +); + +CREATE TEMP TABLE TempLogOutputDeleted +( + 'NrDeleted' INTEGER NOT NULL +); +INSERT INTO TempLogOutputDeleted +SELECT COUNT() +FROM [SOURCEPROJECT].MacroStabilityInwardsCalculationOutputEntity; + +INSERT INTO TempLogOutputDeleted +SELECT COUNT() +FROM [SOURCEPROJECT].MacroStabilityInwardsSemiProbabilisticOutputEntity; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +VALUES ("17.2", "17.3", "Gevolgen van de migratie van versie 17.2 naar versie 17.3:"); + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +SELECT "17.2", + "17.3", + "* Alle berekende resultaten van het toetsspoor 'Macrostabiliteit binnenwaarts' zijn verwijderd." + FROM TempLogOutputDeleted + WHERE [NrDeleted] > 0 + LIMIT 1; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +SELECT "17.2", + "17.3", + "* Geen aanpassingen." + WHERE ( + SELECT COUNT() FROM [LOGDATABASE].MigrationLogEntity + WHERE [FromVersion] = "17.2" + ) IS 1; + +DETACH LOGDATABASE; + +DETACH SOURCEPROJECT; + +PRAGMA foreign_keys = ON; \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_17.3_18.1.sql =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_17.3_18.1.sql (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_17.3_18.1.sql (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,2835 @@ + /* +Migration script for migrating Ringtoets databases. +SourceProject version: 17.3 +TargetProject version: 18.1 +*/ +PRAGMA foreign_keys = OFF; + +ATTACH DATABASE "{0}" AS SOURCEPROJECT; + +INSERT INTO BackgroundDataEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataEntity; +INSERT INTO BackgroundDataMetaEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataMetaEntity; +INSERT INTO CalculationGroupEntity SELECT * FROM [SOURCEPROJECT].CalculationGroupEntity; +INSERT INTO ClosingStructureEntity ( + [ClosingStructureEntityId], + [FailureMechanismEntityId], + [Order], + [Name], + [Id], + [X], + [Y], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [LevelCrestStructureNotClosingMean], + [LevelCrestStructureNotClosingStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ProbabilityOpenStructureBeforeFlooding], + [FailureProbabilityOpenStructure], + [IdenticalApertures], + [FailureProbabilityReparation], + [InflowModelType]) +SELECT + [ClosingStructureEntityId], + [FailureMechanismEntityId], + [Order], + [Name], + [Id], + [X], + [Y], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [LevelCrestStructureNotClosingMean], + [LevelCrestStructureNotClosingStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + CASE + WHEN [ProbabilityOrFrequencyOpenStructureBeforeFlooding] > 1 + THEN NULL + ELSE + [ProbabilityOrFrequencyOpenStructureBeforeFlooding] + END, + [FailureProbabilityOpenStructure], + CASE + WHEN [IdenticalApertures] < 1 + THEN 1 + ELSE + [IdenticalApertures] + END, + [FailureProbabilityReparation], + [InflowModelType] +FROM [SOURCEPROJECT].ClosingStructureEntity; +INSERT INTO ClosingStructuresCalculationEntity ( + [ClosingStructuresCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + [ClosingStructureEntityId], + [Order], + [Name], + [Comments], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [Orientation], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [LevelCrestStructureNotClosingMean], + [LevelCrestStructureNotClosingStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ProbabilityOpenStructureBeforeFlooding], + [FailureProbabilityOpenStructure], + [IdenticalApertures], + [FailureProbabilityReparation], + [InflowModelType], + [FailureProbabilityStructureWithErosion], + [DeviationWaveDirection], + [DrainCoefficientMean], + [ModelFactorSuperCriticalFlowMean], + [StormDurationMean], + [FactorStormDurationOpenStructure], + [ShouldIllustrationPointsBeCalculated]) +SELECT + [ClosingStructuresCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + [ClosingStructureEntityId], + [Order], + [Name], + [Comments], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [Orientation], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [LevelCrestStructureNotClosingMean], + [LevelCrestStructureNotClosingStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ProbabilityOrFrequencyOpenStructureBeforeFlooding], + [FailureProbabilityOpenStructure], + CASE + WHEN [IdenticalApertures] < 1 + THEN 1 + ELSE + [IdenticalApertures] + END, + [FailureProbabilityReparation], + [InflowModelType], + [FailureProbabilityStructureWithErosion], + [DeviationWaveDirection], + [DrainCoefficientMean], + [ModelFactorSuperCriticalFlowMean], + [StormDurationMean], + [FactorStormDurationOpenStructure], + [ShouldIllustrationPointsBeCalculated] + FROM [SOURCEPROJECT].ClosingStructuresCalculationEntity; +INSERT INTO ClosingStructuresFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresFailureMechanismMetaEntity; +INSERT INTO ClosingStructuresSectionResultEntity ( + [ClosingStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [ClosingStructuresCalculationEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResult], + [TailorMadeAssessmentResult], + [TailorMadeAssessmentProbability], + [UseManualAssembly], + [ManualAssemblyProbability]) +SELECT + [ClosingStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [ClosingStructuresCalculationEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + CASE + WHEN [LayerThree] IS NOT NULL + THEN 3 + ELSE + 1 + END, + [LayerThree], + 0, + NULL +FROM [SOURCEPROJECT].ClosingStructuresSectionResultEntity; +INSERT INTO DikeProfileEntity ( + [DikeProfileEntityId], + [FailureMechanismEntityId], + [Id], + [Name], + [Orientation], + [BreakWaterType], + [BreakWaterHeight], + [ForeshoreXml], + [DikeGeometryXml], + [DikeHeight], + [X], + [Y], + [X0], + [Order]) +SELECT + [DikeProfileEntityId], + [FailureMechanismEntityId], + [Id], + [Name], + [Orientation], + [BreakWaterType], + [BreakWaterHeight], + REPLACE( + REPLACE(ForeshoreXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''), + 'Point2DXmlSerializer.SerializablePoint2D', + 'SerializablePoint2D' + ), + REPLACE( + REPLACE(DikeGeometryXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''), + 'RoughnessPointXmlSerializer.SerializableRoughnessPoint', + 'SerializableRoughnessPoint' + ), + [DikeHeight], + [X], + [Y], + [X0], + [Order] +FROM [SOURCEPROJECT].DikeProfileEntity; +INSERT INTO DuneErosionSectionResultEntity ( + [DuneErosionSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResultForFactorizedSignalingNorm], + [DetailedAssessmentResultForSignalingNorm], + [DetailedAssessmentResultForMechanismSpecificLowerLimitNorm], + [DetailedAssessmentResultForLowerLimitNorm], + [DetailedAssessmentResultForFactorizedLowerLimitNorm], + [TailorMadeAssessmentResult], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [DuneErosionSectionResultEntityId], + [FailureMechanismSectionEntityId], + [LayerOne], + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1 +FROM [SOURCEPROJECT].DuneErosionSectionResultEntity; +INSERT INTO DuneLocationEntity SELECT * FROM [SOURCEPROJECT].DuneLocationEntity; +INSERT INTO FailureMechanismEntity ( + [FailureMechanismEntityId], + [AssessmentSectionEntityId], + [CalculationGroupEntityId], + [FailureMechanismType], + [IsRelevant], + [FailureMechanismSectionCollectionSourcePath], + [InputComments], + [OutputComments], + [NotRelevantComments]) +SELECT + [FailureMechanismEntityId], + [AssessmentSectionEntityId], + [CalculationGroupEntityId], + [FailureMechanismType], + [IsRelevant], + CASE WHEN COUNT([FailureMechanismSectionEntityId]) THEN "" ELSE NULL END, + [InputComments], + [OutputComments], + [NotRelevantComments] +FROM [SOURCEPROJECT].FailureMechanismEntity +LEFT JOIN [SOURCEPROJECT].FailureMechanismSectionEntity USING (FailureMechanismEntityId) +GROUP BY FailureMechanismEntityId; +INSERT INTO FailureMechanismSectionEntity ( + [FailureMechanismSectionEntityId], + [FailureMechanismEntityId], + [Name], + [FailureMechanismSectionPointXml]) +SELECT + [FailureMechanismSectionEntityId], + [FailureMechanismEntityId], + [Name], + REPLACE( + REPLACE(FailureMechanismSectionPointXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''), + 'Point2DXmlSerializer.SerializablePoint2D', + 'SerializablePoint2D' + ) +FROM [SOURCEPROJECT].FailureMechanismSectionEntity; +INSERT INTO ForeshoreProfileEntity ( + [ForeshoreProfileEntityId], + [FailureMechanismEntityId], + [Id], + [Name], + [Orientation], + [BreakWaterType], + [BreakWaterHeight], + [GeometryXml], + [X], + [Y], + [X0], + [Order]) +SELECT + [ForeshoreProfileEntityId], + [FailureMechanismEntityId], + [Id], + [Name], + [Orientation], + [BreakWaterType], + [BreakWaterHeight], + REPLACE( + REPLACE(GeometryXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''), + 'Point2DXmlSerializer.SerializablePoint2D', + 'SerializablePoint2D' + ), + [X], + [Y], + [X0], + [Order] +FROM [SOURCEPROJECT].ForeshoreProfileEntity; +INSERT INTO GrassCoverErosionInwardsCalculationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsCalculationEntity; +INSERT INTO GrassCoverErosionInwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsFailureMechanismMetaEntity; +INSERT INTO GrassCoverErosionInwardsSectionResultEntity ( + [GrassCoverErosionInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [GrassCoverErosionInwardsCalculationEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResult], + [TailorMadeAssessmentResult], + [TailorMadeAssessmentProbability], + [UseManualAssembly], + [ManualAssemblyProbability]) +SELECT + [GrassCoverErosionInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [GrassCoverErosionInwardsCalculationEntityId], + [LayerOne], + 1, + CASE + WHEN [LayerThree] IS NOT NULL + THEN 3 + ELSE + 1 + END, + [LayerThree], + 0, + NULL +FROM [SOURCEPROJECT].GrassCoverErosionInwardsSectionResultEntity; +INSERT INTO GrassCoverErosionOutwardsSectionResultEntity ( + [GrassCoverErosionOutwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResultForFactorizedSignalingNorm], + [DetailedAssessmentResultForSignalingNorm], + [DetailedAssessmentResultForMechanismSpecificLowerLimitNorm], + [DetailedAssessmentResultForLowerLimitNorm], + [DetailedAssessmentResultForFactorizedLowerLimitNorm], + [TailorMadeAssessmentResult], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [GrassCoverErosionOutwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1 +FROM [SOURCEPROJECT].GrassCoverErosionOutwardsSectionResultEntity; +INSERT INTO GrassCoverSlipOffInwardsSectionResultEntity ( + [GrassCoverSlipOffInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResult], + [TailorMadeAssessmentResult], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [GrassCoverSlipOffInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + 1, + 0, + 1 +FROM [SOURCEPROJECT].GrassCoverSlipOffInwardsSectionResultEntity; +INSERT INTO GrassCoverSlipOffOutwardsSectionResultEntity ( + [GrassCoverSlipOffOutwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResult], + [TailorMadeAssessmentResult], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [GrassCoverSlipOffOutwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + 1, + 0, + 1 +FROM [SOURCEPROJECT].GrassCoverSlipOffOutwardsSectionResultEntity; +INSERT INTO HeightStructureEntity SELECT * FROM [SOURCEPROJECT].HeightStructureEntity; +INSERT INTO HeightStructuresCalculationEntity SELECT * FROM [SOURCEPROJECT].HeightStructuresCalculationEntity; +INSERT INTO HeightStructuresFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].HeightStructuresFailureMechanismMetaEntity; +INSERT INTO HeightStructuresSectionResultEntity ( + [HeightStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [HeightStructuresCalculationEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResult], + [TailorMadeAssessmentResult], + [TailorMadeAssessmentProbability], + [UseManualAssembly], + [ManualAssemblyProbability]) +SELECT + [HeightStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [HeightStructuresCalculationEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + CASE + WHEN [LayerThree] IS NOT NULL + THEN 3 + ELSE + 1 + END, + [LayerThree], + 0, + NULL +FROM [SOURCEPROJECT].HeightStructuresSectionResultEntity; +INSERT INTO HydraulicLocationEntity ( + [HydraulicLocationEntityId], + [AssessmentSectionEntityId], + [LocationId], + [Name], + [LocationX], + [LocationY], + [Order]) +SELECT + [HydraulicLocationEntityId], + [AssessmentSectionEntityId], + [LocationId], + [Name], + [LocationX], + [LocationY], + [Order] +FROM [SOURCEPROJECT].HydraulicLocationEntity; +INSERT INTO IllustrationPointResultEntity SELECT * FROM [SOURCEPROJECT].IllustrationPointResultEntity; +INSERT INTO MacroStabilityInwardsCalculationEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsCalculationEntity; +INSERT INTO MacroStabilityInwardsCalculationOutputEntity ( + [MacroStabilityInwardsCalculationOutputEntityId], + [MacroStabilityInwardsCalculationEntityId], + [FactorOfStability], + [ZValue], + [ForbiddenZonesXEntryMin], + [ForbiddenZonesXEntryMax], + [SlidingCurveLeftSlidingCircleCenterX], + [SlidingCurveLeftSlidingCircleCenterY], + [SlidingCurveLeftSlidingCircleRadius], + [SlidingCurveLeftSlidingCircleIsActive], + [SlidingCurveLeftSlidingCircleNonIteratedForce], + [SlidingCurveLeftSlidingCircleIteratedForce], + [SlidingCurveLeftSlidingCircleDrivingMoment], + [SlidingCurveLeftSlidingCircleResistingMoment], + [SlidingCurveRightSlidingCircleCenterX], + [SlidingCurveRightSlidingCircleCenterY], + [SlidingCurveRightSlidingCircleRadius], + [SlidingCurveRightSlidingCircleIsActive], + [SlidingCurveRightSlidingCircleNonIteratedForce], + [SlidingCurveRightSlidingCircleIteratedForce], + [SlidingCurveRightSlidingCircleDrivingMoment], + [SlidingCurveRightSlidingCircleResistingMoment], + [SlidingCurveNonIteratedHorizontalForce], + [SlidingCurveIteratedHorizontalForce], + [SlidingCurveSliceXML], + [SlipPlaneLeftGridXLeft], + [SlipPlaneLeftGridXRight], + [SlipPlaneLeftGridNrOfHorizontalPoints], + [SlipPlaneLeftGridZTop], + [SlipPlaneLeftGridZBottom], + [SlipPlaneLeftGridNrOfVerticalPoints], + [SlipPlaneRightGridXLeft], + [SlipPlaneRightGridXRight], + [SlipPlaneRightGridNrOfHorizontalPoints], + [SlipPlaneRightGridZTop], + [SlipPlaneRightGridZBottom], + [SlipPlaneRightGridNrOfVerticalPoints], + [SlipPlaneTangentLinesXml]) +SELECT + [MacroStabilityInwardsCalculationOutputEntityId], + [MacroStabilityInwardsCalculationEntityId], + [FactorOfStability], + [ZValue], + [ForbiddenZonesXEntryMin], + [ForbiddenZonesXEntryMax], + [SlidingCurveLeftSlidingCircleCenterX], + [SlidingCurveLeftSlidingCircleCenterY], + [SlidingCurveLeftSlidingCircleRadius], + [SlidingCurveLeftSlidingCircleIsActive], + [SlidingCurveLeftSlidingCircleNonIteratedForce], + [SlidingCurveLeftSlidingCircleIteratedForce], + [SlidingCurveLeftSlidingCircleDrivingMoment], + [SlidingCurveLeftSlidingCircleResistingMoment], + [SlidingCurveRightSlidingCircleCenterX], + [SlidingCurveRightSlidingCircleCenterY], + [SlidingCurveRightSlidingCircleRadius], + [SlidingCurveRightSlidingCircleIsActive], + [SlidingCurveRightSlidingCircleNonIteratedForce], + [SlidingCurveRightSlidingCircleIteratedForce], + [SlidingCurveRightSlidingCircleDrivingMoment], + [SlidingCurveRightSlidingCircleResistingMoment], + [SlidingCurveNonIteratedHorizontalForce], + [SlidingCurveIteratedHorizontalForce], + REPLACE( + REPLACE(SlidingCurveSliceXML, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''), + 'MacroStabilityInwardsSliceXmlSerializer.SerializableMacroStabilityInwardsSlice', + 'SerializableMacroStabilityInwardsSlice' + ), + [SlipPlaneLeftGridXLeft], + [SlipPlaneLeftGridXRight], + [SlipPlaneLeftGridNrOfHorizontalPoints], + [SlipPlaneLeftGridZTop], + [SlipPlaneLeftGridZBottom], + [SlipPlaneLeftGridNrOfVerticalPoints], + [SlipPlaneRightGridXLeft], + [SlipPlaneRightGridXRight], + [SlipPlaneRightGridNrOfHorizontalPoints], + [SlipPlaneRightGridZTop], + [SlipPlaneRightGridZBottom], + [SlipPlaneRightGridNrOfVerticalPoints], + REPLACE( + REPLACE(SlipPlaneTangentLinesXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''), + 'TangentLinesXmlSerializer.SerializableTangentLine', + 'SerializableTangentLine' + ) +FROM [SOURCEPROJECT].MacroStabilityInwardsCalculationOutputEntity +JOIN [SOURCEPROJECT].MacroStabilityInwardsCalculationEntity USING(MacroStabilityInwardsCalculationEntityId) +WHERE [UseAssessmentLevelManualInput] = 1; +INSERT INTO MacroStabilityInwardsCharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsCharacteristicPointEntity; +INSERT INTO MacroStabilityInwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsFailureMechanismMetaEntity; +INSERT INTO MacroStabilityInwardsPreconsolidationStressEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsPreconsolidationStressEntity; +INSERT INTO MacroStabilityInwardsSectionResultEntity ( + [MacroStabilityInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResult], + [TailorMadeAssessmentResult], + [TailorMadeAssessmentProbability], + [UseManualAssembly], + [ManualAssemblyProbability]) +SELECT + [MacroStabilityInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + CASE + WHEN [LayerThree] IS NOT NULL + THEN 3 + ELSE + 1 + END, + [LayerThree], + 0, + NULL +FROM [SOURCEPROJECT].MacroStabilityInwardsSectionResultEntity; +INSERT INTO MacroStabilityInwardsSoilLayerOneDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilLayerOneDEntity; +INSERT INTO MacroStabilityInwardsSoilLayerTwoDEntity ( + [MacroStabilityInwardsSoilLayerTwoDEntityId], + [ParentMacroStabilityInwardsSoilLayerTwoDEntityId], + [IsAquifer], + [Color], + [MaterialName], + [ShearStrengthModel], + [UsePop], + [AbovePhreaticLevelMean], + [AbovePhreaticLevelCoefficientOfVariation], + [AbovePhreaticLevelShift], + [BelowPhreaticLevelMean], + [BelowPhreaticLevelCoefficientOfVariation], + [BelowPhreaticLevelShift], + [CohesionMean], + [CohesionCoefficientOfVariation], + [FrictionAngleMean], + [FrictionAngleCoefficientOfVariation], + [ShearStrengthRatioMean], + [ShearStrengthRatioCoefficientOfVariation], + [StrengthIncreaseExponentMean], + [StrengthIncreaseExponentCoefficientOfVariation], + [PopMean], + [PopCoefficientOfVariation], + [OuterRingXml], + [Order]) +SELECT + [MacroStabilityInwardsSoilLayerTwoDEntityId], + [ParentMacroStabilityInwardsSoilLayerTwoDEntityId], + [IsAquifer], + [Color], + [MaterialName], + [ShearStrengthModel], + [UsePop], + [AbovePhreaticLevelMean], + [AbovePhreaticLevelCoefficientOfVariation], + [AbovePhreaticLevelShift], + [BelowPhreaticLevelMean], + [BelowPhreaticLevelCoefficientOfVariation], + [BelowPhreaticLevelShift], + [CohesionMean], + [CohesionCoefficientOfVariation], + [FrictionAngleMean], + [FrictionAngleCoefficientOfVariation], + [ShearStrengthRatioMean], + [ShearStrengthRatioCoefficientOfVariation], + [StrengthIncreaseExponentMean], + [StrengthIncreaseExponentCoefficientOfVariation], + [PopMean], + [PopCoefficientOfVariation], + REPLACE( + REPLACE(OuterRingXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''), + 'Point2DXmlSerializer.SerializablePoint2D', + 'SerializablePoint2D' + ), + [Order] +FROM [SOURCEPROJECT].MacroStabilityInwardsSoilLayerTwoDEntity; +INSERT INTO MacroStabilityInwardsSoilProfileOneDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilProfileOneDEntity; +INSERT INTO MacroStabilityInwardsSoilProfileTwoDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilProfileTwoDEntity; +INSERT INTO MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity; +INSERT INTO MacroStabilityInwardsStochasticSoilProfileEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsStochasticSoilProfileEntity; +INSERT INTO MacroStabilityOutwardsSectionResultEntity ( + [MacroStabilityOutwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResult], + [DetailedAssessmentProbability], + [TailorMadeAssessmentResult], + [TailorMadeAssessmentProbability], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [MacroStabilityOutwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + [LayerTwoA], + 1, + NULL, + 0, + 1 +FROM [SOURCEPROJECT].MacroStabilityOutwardsSectionResultEntity; +INSERT INTO MicrostabilitySectionResultEntity ( + [MicrostabilitySectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResult], + [TailorMadeAssessmentResult], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [MicrostabilitySectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + 1, + 0, + 1 +FROM [SOURCEPROJECT].MicrostabilitySectionResultEntity; +INSERT INTO PipingCalculationEntity SELECT * FROM [SOURCEPROJECT].PipingCalculationEntity; +INSERT INTO PipingCalculationOutputEntity +SELECT * + FROM [SOURCEPROJECT].PipingCalculationOutputEntity + WHERE PipingCalculationEntityId IN ( + SELECT PipingCalculationEntityId + FROM [SOURCEPROJECT].PipingCalculationEntity + WHERE UseAssessmentLevelManualInput IS 1 + ); +INSERT INTO PipingCharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].PipingCharacteristicPointEntity; +INSERT INTO PipingFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].PipingFailureMechanismMetaEntity; +INSERT INTO PipingSectionResultEntity ( + [PipingSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResult], + [TailorMadeAssessmentResult], + [TailorMadeAssessmentProbability], + [UseManualAssembly], + [ManualAssemblyProbability]) +SELECT + [PipingSectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + CASE + WHEN [LayerThree] IS NOT NULL + THEN 3 + ELSE + 1 + END, + [LayerThree], + 0, + NULL +FROM [SOURCEPROJECT].PipingSectionResultEntity; +INSERT INTO PipingSoilLayerEntity( + [PipingSoilLayerEntityId], + [PipingSoilProfileEntityId], + [Top], + [IsAquifer], + [Color], + [MaterialName], + [BelowPhreaticLevelMean] , + [BelowPhreaticLevelDeviation], + [BelowPhreaticLevelShift], + [DiameterD70Mean], + [DiameterD70CoefficientOfVariation], + [PermeabilityMean], + [PermeabilityCoefficientOfVariation], + [Order]) +SELECT + [PipingSoilLayerEntityId], + [PipingSoilProfileEntityId], + [Top], + [IsAquifer], + [Color], + [MaterialName], + CASE + WHEN [BelowPhreaticLevelMean] <= 0 + THEN NULL + ELSE + [BelowPhreaticLevelMean] + END, + CASE + WHEN [BelowPhreaticLevelDeviation] < 0 + THEN NULL + ELSE + [BelowPhreaticLevelDeviation] + END, + CASE + WHEN [BelowPhreaticLevelMean] < [BelowPhreaticLevelShift] + THEN NULL + ELSE + [BelowPhreaticLevelShift] + END, + CASE + WHEN [DiameterD70Mean] <= 0 + THEN NULL + ELSE + [DiameterD70Mean] + END, + CASE + WHEN [DiameterD70CoefficientOfVariation] < 0 + THEN NULL + ELSE + [DiameterD70CoefficientOfVariation] + END, + CASE + WHEN [PermeabilityMean] <= 0 + THEN NULL + ELSE + [PermeabilityMean] + END, + CASE + WHEN [PermeabilityCoefficientOfVariation] < 0 + THEN NULL + ELSE + [PermeabilityCoefficientOfVariation] + END, + [Order] +FROM [SOURCEPROJECT].PipingSoilLayerEntity; +INSERT INTO PipingSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingSoilProfileEntity; +INSERT INTO PipingStochasticSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingStochasticSoilProfileEntity; +INSERT INTO PipingStructureSectionResultEntity ( + [PipingStructureSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResult], + [TailorMadeAssessmentResult], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [PipingStructureSectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + 1, + 0, + 1 +FROM [SOURCEPROJECT].PipingStructureSectionResultEntity; +INSERT INTO ProjectEntity SELECT * FROM [SOURCEPROJECT].ProjectEntity; +INSERT INTO StabilityPointStructureEntity SELECT * FROM [SOURCEPROJECT].StabilityPointStructureEntity; +INSERT INTO StabilityPointStructuresCalculationEntity ( + [StabilityPointStructuresCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + [StabilityPointStructureEntityId], + [Order], + [Name], + [Comments], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ConstructiveStrengthLinearLoadModelMean], + [ConstructiveStrengthLinearLoadModelCoefficientOfVariation], + [ConstructiveStrengthQuadraticLoadModelMean], + [ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation], + [BankWidthMean], + [BankWidthStandardDeviation], + [InsideWaterLevelFailureConstructionMean], + [InsideWaterLevelFailureConstructionStandardDeviation], + [EvaluationLevel], + [LevelCrestStructureMean], + [LevelCrestStructureStandardDeviation], + [VerticalDistance], + [FailureProbabilityRepairClosure], + [FailureCollisionEnergyMean], + [FailureCollisionEnergyCoefficientOfVariation], + [ShipMassMean], + [ShipMassCoefficientOfVariation], + [ShipVelocityMean], + [ShipVelocityCoefficientOfVariation], + [LevellingCount], + [ProbabilityCollisionSecondaryStructure], + [FlowVelocityStructureClosableMean], + [StabilityLinearLoadModelMean], + [StabilityLinearLoadModelCoefficientOfVariation], + [StabilityQuadraticLoadModelMean], + [StabilityQuadraticLoadModelCoefficientOfVariation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [InflowModelType], + [LoadSchematizationType], + [VolumicWeightWater], + [StormDurationMean], + [FactorStormDurationOpenStructure], + [DrainCoefficientMean], + [FailureProbabilityStructureWithErosion], + [ShouldIllustrationPointsBeCalculated]) +SELECT + [StabilityPointStructuresCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + [StabilityPointStructureEntityId], + [Order], + [Name], + [Comments], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [StructureNormalOrientation], + [StorageStructureAreaMean], + [StorageStructureAreaCoefficientOfVariation], + [AllowedLevelIncreaseStorageMean], + [AllowedLevelIncreaseStorageStandardDeviation], + [WidthFlowAperturesMean], + [WidthFlowAperturesStandardDeviation], + [InsideWaterLevelMean], + [InsideWaterLevelStandardDeviation], + [ThresholdHeightOpenWeirMean], + [ThresholdHeightOpenWeirStandardDeviation], + [CriticalOvertoppingDischargeMean], + [CriticalOvertoppingDischargeCoefficientOfVariation], + [FlowWidthAtBottomProtectionMean], + [FlowWidthAtBottomProtectionStandardDeviation], + [ConstructiveStrengthLinearLoadModelMean], + [ConstructiveStrengthLinearLoadModelCoefficientOfVariation], + [ConstructiveStrengthQuadraticLoadModelMean], + [ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation], + [BankWidthMean], + [BankWidthStandardDeviation], + [InsideWaterLevelFailureConstructionMean], + [InsideWaterLevelFailureConstructionStandardDeviation], + [EvaluationLevel], + [LevelCrestStructureMean], + [LevelCrestStructureStandardDeviation], + CASE + WHEN [VerticalDistance] < 0 + THEN NULL + ELSE + [VerticalDistance] + END, + [FailureProbabilityRepairClosure], + [FailureCollisionEnergyMean], + [FailureCollisionEnergyCoefficientOfVariation], + [ShipMassMean], + [ShipMassCoefficientOfVariation], + [ShipVelocityMean], + [ShipVelocityCoefficientOfVariation], + CASE + WHEN [LevellingCount] < 0 + THEN 0 + ELSE + [LevellingCount] + END, + [ProbabilityCollisionSecondaryStructure], + [FlowVelocityStructureClosableMean], + [StabilityLinearLoadModelMean], + [StabilityLinearLoadModelCoefficientOfVariation], + [StabilityQuadraticLoadModelMean], + [StabilityQuadraticLoadModelCoefficientOfVariation], + [AreaFlowAperturesMean], + [AreaFlowAperturesStandardDeviation], + [InflowModelType], + [LoadSchematizationType], + [VolumicWeightWater], + [StormDurationMean], + [FactorStormDurationOpenStructure], + [DrainCoefficientMean], + [FailureProbabilityStructureWithErosion], + [ShouldIllustrationPointsBeCalculated] +FROM [SOURCEPROJECT].StabilityPointStructuresCalculationEntity; +INSERT INTO StabilityPointStructuresFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].StabilityPointStructuresFailureMechanismMetaEntity; +INSERT INTO StabilityPointStructuresSectionResultEntity ( + [StabilityPointStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [StabilityPointStructuresCalculationEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResult], + [TailorMadeAssessmentResult], + [TailorMadeAssessmentProbability], + [UseManualAssembly], + [ManualAssemblyProbability]) +SELECT + [StabilityPointStructuresSectionResultEntityId], + [FailureMechanismSectionEntityId], + [StabilityPointStructuresCalculationEntityId], + [LayerOne], + 1, + CASE + WHEN [LayerThree] IS NOT NULL + THEN 3 + ELSE + 1 + END, + [LayerThree], + 0, + NULL +FROM [SOURCEPROJECT].StabilityPointStructuresSectionResultEntity; +INSERT INTO StabilityStoneCoverFailureMechanismMetaEntity ( + [StabilityStoneCoverFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [ForeshoreProfileCollectionSourcePath], + [N]) +SELECT [StabilityStoneCoverFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [ForeshoreProfileCollectionSourcePath], + "4" +FROM [SOURCEPROJECT].StabilityStoneCoverFailureMechanismMetaEntity; +INSERT INTO StabilityStoneCoverSectionResultEntity ( + [StabilityStoneCoverSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResultForFactorizedSignalingNorm], + [DetailedAssessmentResultForSignalingNorm], + [DetailedAssessmentResultForMechanismSpecificLowerLimitNorm], + [DetailedAssessmentResultForLowerLimitNorm], + [DetailedAssessmentResultForFactorizedLowerLimitNorm], + [TailorMadeAssessmentResult], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [StabilityStoneCoverSectionResultEntityId], + [FailureMechanismSectionEntityId], + [LayerOne], + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1 +FROM [SOURCEPROJECT].StabilityStoneCoverSectionResultEntity; +INSERT INTO StabilityStoneCoverWaveConditionsCalculationEntity( + [StabilityStoneCoverWaveConditionsCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + [Order], + [Name], + [Comments], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [Orientation], + [UpperBoundaryRevetment], + [LowerBoundaryRevetment], + [UpperBoundaryWaterLevels], + [LowerBoundaryWaterLevels], + [StepSize], + [CategoryType] +) +SELECT + [StabilityStoneCoverWaveConditionsCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + calc.'Order', + calc.Name, + calc.Comments, + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [Orientation], + [UpperBoundaryRevetment], + [LowerBoundaryRevetment], + [UpperBoundaryWaterLevels], + [LowerBoundaryWaterLevels], + [StepSize], + CASE + WHEN [NormativeNormType] = 1 + THEN 3 + ELSE + 2 + END +FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsCalculationEntity calc +JOIN [SOURCEPROJECT].CalculationGroupEntity USING(CalculationGroupEntityId) +JOIN [SOURCEPROJECT].FailureMechanismEntity USING(CalculationGroupEntityId) +JOIN [SOURCEPROJECT].AssessmentSectionEntity USING(AssessmentSectionEntityId); +INSERT INTO StochasticSoilModelEntity ( + [StochasticSoilModelEntityId], + [FailureMechanismEntityId], + [Name], + [StochasticSoilModelSegmentPointXml], + [Order]) +SELECT + [StochasticSoilModelEntityId], + [FailureMechanismEntityId], + [Name], + REPLACE( + REPLACE(StochasticSoilModelSegmentPointXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''), + 'Point2DXmlSerializer.SerializablePoint2D', + 'SerializablePoint2D' + ), + [Order] +FROM [SOURCEPROJECT].StochasticSoilModelEntity; +INSERT INTO StrengthStabilityLengthwiseConstructionSectionResultEntity ( + [StrengthStabilityLengthwiseConstructionSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [TailorMadeAssessmentResult], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [StrengthStabilityLengthwiseConstructionSectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + 0, + 1 +FROM [SOURCEPROJECT].StrengthStabilityLengthwiseConstructionSectionResultEntity; +INSERT INTO SurfaceLineEntity( + [SurfaceLineEntityId], + [FailureMechanismEntityId], + [Name], + [ReferenceLineIntersectionX], + [ReferenceLineIntersectionY], + [PointsXml], + [Order]) +SELECT + [SurfaceLineEntityId], + [FailureMechanismEntityId], + [Name], + [ReferenceLineIntersectionX], + [ReferenceLineIntersectionY], + REPLACE( + REPLACE(PointsXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''), + 'Point3DXmlSerializer.SerializablePoint3D', + 'SerializablePoint3D' + ), + [Order] +FROM [SOURCEPROJECT].SurfaceLineEntity; +INSERT INTO TechnicalInnovationSectionResultEntity ( + [TechnicalInnovationSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [TailorMadeAssessmentResult], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [TechnicalInnovationSectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + 0, + 1 +FROM [SOURCEPROJECT].TechnicalInnovationSectionResultEntity; +INSERT INTO VersionEntity ( + [VersionId], + [Version], + [Timestamp], + [FingerPrint]) +SELECT [VersionId], + "18.1", + [Timestamp], + [FingerPrint] +FROM [SOURCEPROJECT].VersionEntity; +INSERT INTO WaterPressureAsphaltCoverSectionResultEntity ( + [WaterPressureAsphaltCoverSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [TailorMadeAssessmentResult], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [WaterPressureAsphaltCoverSectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + 0, + 1 +FROM [SOURCEPROJECT].WaterPressureAsphaltCoverSectionResultEntity; +INSERT INTO WaveImpactAsphaltCoverFailureMechanismMetaEntity ( + [WaveImpactAsphaltCoverFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [ForeshoreProfileCollectionSourcePath], + [DeltaL]) +SELECT [WaveImpactAsphaltCoverFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [ForeshoreProfileCollectionSourcePath], + "1000" +FROM [SOURCEPROJECT].WaveImpactAsphaltCoverFailureMechanismMetaEntity; +INSERT INTO WaveImpactAsphaltCoverSectionResultEntity ( + [WaveImpactAsphaltCoverSectionResultEntityId], + [FailureMechanismSectionEntityId], + [SimpleAssessmentResult], + [DetailedAssessmentResultForFactorizedSignalingNorm], + [DetailedAssessmentResultForSignalingNorm], + [DetailedAssessmentResultForMechanismSpecificLowerLimitNorm], + [DetailedAssessmentResultForLowerLimitNorm], + [DetailedAssessmentResultForFactorizedLowerLimitNorm], + [TailorMadeAssessmentResult], + [UseManualAssembly], + [ManualAssemblyCategoryGroup]) +SELECT + [WaveImpactAsphaltCoverSectionResultEntityId], + [FailureMechanismSectionEntityId], + CASE + WHEN [LayerOne] = 3 + THEN 4 + ELSE + [LayerOne] + END, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1 +FROM [SOURCEPROJECT].WaveImpactAsphaltCoverSectionResultEntity; +INSERT INTO WaveImpactAsphaltCoverWaveConditionsCalculationEntity ( + [WaveImpactAsphaltCoverWaveConditionsCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + [Order], + [Name], + [Comments], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [Orientation], + [UpperBoundaryRevetment], + [LowerBoundaryRevetment], + [UpperBoundaryWaterLevels], + [LowerBoundaryWaterLevels], + [StepSize], + [CategoryType] +) +SELECT + [WaveImpactAsphaltCoverWaveConditionsCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + calc.'Order', + calc.Name, + calc.Comments, + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [Orientation], + [UpperBoundaryRevetment], + [LowerBoundaryRevetment], + [UpperBoundaryWaterLevels], + [LowerBoundaryWaterLevels], + [StepSize], + CASE + WHEN [NormativeNormType] = 1 + THEN 3 + ELSE + 2 + END +FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsCalculationEntity calc +JOIN [SOURCEPROJECT].CalculationGroupEntity USING(CalculationGroupEntityId) +JOIN [SOURCEPROJECT].FailureMechanismEntity USING(CalculationGroupEntityId) +JOIN [SOURCEPROJECT].AssessmentSectionEntity USING(AssessmentSectionEntityId); + +/* +Outputs that used HydraRing are not migrated +*/ +-- ClosingStructuresOutputEntity +-- GrassCoverErosionOutwardsWaveConditionsOutputEntity +-- GrassCoverErosionInwardsDikeHeightOutputEntity +-- GrassCoverErosionInwardsOutputEntity +-- GrassCoverErosionInwardsOvertoppingRateOutputEntity +-- HeightStructuresOutputEntity +-- StabilityPointStructuresOutputEntity +-- StabilityStoneCoverWaveConditionsOutputEntity +-- WaveImpactAsphaltCoverWaveConditionsOutputEntity +-- TopLevelFaultTreeIllustrationPointEntity +-- TopLevelSubMechanismIllustrationPointEntity +-- GeneralResultFaultTreeIllustrationPointEntity +-- GeneralResultFaultTreeIllustrationPointStochastEntity +-- GeneralResultSubMechanismIllustrationPointEntity +-- GeneralResultSubMechanismIllustrationPointStochastEntity +-- SubMechanismIllustrationPointEntity +-- SubMechanismIllustrationPointStochastEntity +-- FaultTreeIllustrationPointEntity +-- FaultTreeIllustrationPointStochastEntity +-- FaultTreeSubmechanismIllustrationPointEntity +-- StochastEntity +-- (Conditional) MacroStabilityInwardsCalculationOutputEntity +-- (Conditional) PipingCalculationOutputEntity + +/* +Insert new data +*/ +INSERT INTO MacroStabilityOutwardsFailureMechanismMetaEntity ( + [FailureMechanismEntityId], + [A]) +SELECT FailureMechanismEntityId, + 0.033 +FROM FailureMechanismEntity WHERE FailureMechanismType = 13; + +INSERT INTO PipingStructureFailureMechanismMetaEntity ( + [FailureMechanismEntityId], + [N]) +SELECT FailureMechanismEntityId, + 1.0 +FROM FailureMechanismEntity WHERE FailureMechanismType = 11; + +-- Migrate the Hydraulic Boundary Locations and associated data +/* +Note, the following conventions are used for the calculation type on AssessmentSectionEntity: +- The water level calculations for the factorized signaling norm = 0. +- The water level calculations for the signaling norm = 1. +- The water level calculations for the lower limit norm = 2. +- The water level calculations for the factorized lower limit norm = 3. +- The wave height calculations for the factorized signaling norm = 4. +- The wave height calculations for the signaling norm = 5. +- The wave height calculations for the lower limit norm = 6. +- The wave height calculations for the factorized lower limit norm = 7. +For grass cover erosion outwards: +- The design water level failure mechanism specific factorized signaling norm = 8. +- The design water level failure mechanism specific signaling norm = 9. +- The design water level failure mechanism specific lower limit norm = 10. +- The wave height failure mechanism specific factorized signaling norm = 11. +- The wave height failure mechanism specific signaling norm = 12. +- The wave height failure mechanism specific lower limit norm = 13. +*/ +CREATE TEMP TABLE TempCalculationTypes ( 'CalculationType' TINYINT (1) NOT NULL); +INSERT INTO TempCalculationTypes VALUES (0); +INSERT INTO TempCalculationTypes VALUES (1); +INSERT INTO TempCalculationTypes VALUES (2); +INSERT INTO TempCalculationTypes VALUES (3); +INSERT INTO TempCalculationTypes VALUES (4); +INSERT INTO TempCalculationTypes VALUES (5); +INSERT INTO TempCalculationTypes VALUES (6); +INSERT INTO TempCalculationTypes VALUES (7); +INSERT INTO TempCalculationTypes VALUES (8); +INSERT INTO TempCalculationTypes VALUES (9); +INSERT INTO TempCalculationTypes VALUES (10); +INSERT INTO TempCalculationTypes VALUES (11); +INSERT INTO TempCalculationTypes VALUES (12); +INSERT INTO TempCalculationTypes VALUES (13); + +-- Migrate the hydraulic boundary location calculations on assessment section level +-- Create the calculation collections +CREATE TEMP TABLE TempHydraulicLocationCalculationCollectionEntity +( + 'HydraulicLocationCalculationCollectionEntityId' INTEGER NOT NULL, + 'AssessmentSectionEntityId' INTEGER, + 'GrassCoverErosionOutwardsFailureMechanismMetaEntityId' INTEGER, + 'CalculationType' TINYINT (1) NOT NULL, + PRIMARY KEY + ( + 'HydraulicLocationCalculationCollectionEntityId' AUTOINCREMENT + ) +); + +INSERT INTO TempHydraulicLocationCalculationCollectionEntity ( + [AssessmentSectionEntityId], + [CalculationType]) +SELECT + [AssessmentSectionEntityId], + [CalculationType] +FROM [SOURCEPROJECT].AssessmentSectionEntity +JOIN ( + SELECT * + FROM TempCalculationTypes + WHERE CalculationType >= 0 AND CalculationType <= 7 +); + +INSERT INTO TempHydraulicLocationCalculationCollectionEntity ( + [GrassCoverErosionOutwardsFailureMechanismMetaEntityId], + [CalculationType]) +SELECT + [GrassCoverErosionOutwardsFailureMechanismMetaEntityId], + [CalculationType] +FROM [SOURCEPROJECT].GrassCoverErosionOutwardsFailureMechanismMetaEntity +JOIN ( + SELECT * + FROM TempCalculationTypes + WHERE CalculationType >= 8 AND CalculationType <= 13 +); + +INSERT INTO HydraulicLocationCalculationCollectionEntity ( + [HydraulicLocationCalculationCollectionEntityId]) +SELECT + [HydraulicLocationCalculationCollectionEntityId] +FROM TempHydraulicLocationCalculationCollectionEntity; + +-- Create the calculation entities +CREATE TEMP TABLE TempHydraulicLocationCalculationEntity +( + 'HydraulicLocationCalculationEntityId' INTEGER NOT NULL, + 'HydraulicLocationEntityId' INTEGER NOT NULL, + 'AssessmentSectionEntityId' INTEGER, + 'GrassCoverErosionOutwardsFailureMechanismMetaEntityId' INTEGER, + 'CalculationType' TINYINT (1) NOT NULL, + PRIMARY KEY + ( + 'HydraulicLocationCalculationEntityId' AUTOINCREMENT + ) +); + +-- Create the calculations for the Hydraulic Boundary Locations on AssessmentSection level +INSERT INTO TempHydraulicLocationCalculationEntity ( + [HydraulicLocationEntityId], + [AssessmentSectionEntityId], + [CalculationType]) +SELECT + [HydraulicLocationEntityId], + [AssessmentSectionEntityId], + [CalculationType] +FROM HydraulicLocationEntity +JOIN ( + SELECT * + FROM TempCalculationTypes + WHERE CalculationType >= 0 AND CalculationType <= 7 +); + +-- Create a lookup table to match the Hydraulic Boundary Locations on Grass Cover Erosion Outwards Failure Mechanism +-- with the Hydraulic Boundary Locations in the Assessment Section level, because the primary keys of the +-- Hydraulic Boundary Locations between these two levels might differ. +-- The translation between the Hydraulic Boundary Locations is based on the LocationID (which is assumed to be unique +-- for every Hydraulic Boundary Location) and the AssessmentSection (which is necessary because multiple assessment +-- sections can contain the same Hydraulic Boundary Locations) +CREATE TEMP TABLE TempGrassCoverErosionOutwardsHydraulicBoundaryLocationLookupTable ( + 'GrassCoverErosionOutwardsHydraulicLocationEntityId' INTEGER NOT NULL UNIQUE, + 'HydraulicLocationEntityId' INTEGER NOT NULL UNIQUE +); + +INSERT INTO TempGrassCoverErosionOutwardsHydraulicBoundaryLocationLookupTable ( + [GrassCoverErosionOutwardsHydraulicLocationEntityId], + [HydraulicLocationEntityId] +) +SELECT + GrassCoverErosionOutwardsHydraulicLocationEntityId, + HydraulicLocationEntityId +FROM [SOURCEPROJECT].GrassCoverErosionOutwardsHydraulicLocationEntity gceohl +JOIN [SOURCEPROJECT].FailureMechanismEntity fm USING(FailureMechanismEntityId) +JOIN [SOURCEPROJECT].HydraulicLocationEntity hl ON (hl.LocationId = gceohl.LocationId AND hl.AssessmentSectionEntityId = fm.AssessmentSectionEntityId); + +-- Create the calculations for the Hydraulic Boundary Locations on Grass Cover Erosion Outwards Failure Mechanism level +INSERT INTO TempHydraulicLocationCalculationEntity ( + [HydraulicLocationEntityId], + [GrassCoverErosionOutwardsFailureMechanismMetaEntityId], + [CalculationType]) +SELECT + [HydraulicLocationEntityId], + [GrassCoverErosionOutwardsFailureMechanismMetaEntityId], + [CalculationType] +FROM [SOURCEPROJECT].GrassCoverErosionOutwardsHydraulicLocationEntity +JOIN [SOURCEPROJECT].FailureMechanismEntity USING(FailureMechanismEntityId) +JOIN [SOURCEPROJECT].GrassCoverErosionOutwardsFailureMechanismMetaEntity USING(FailureMechanismEntityId) +JOIN TempGrassCoverErosionOutwardsHydraulicBoundaryLocationLookupTable USING(GrassCoverErosionOutwardsHydraulicLocationEntityId) +JOIN ( + SELECT * + FROM TempCalculationTypes + WHERE CalculationType >= 8 AND CalculationType <= 13 +); + +-- Insert the calculations +INSERT INTO HydraulicLocationCalculationEntity ( + [HydraulicLocationCalculationEntityId], + [HydraulicLocationEntityId], + [HydraulicLocationCalculationCollectionEntityId], + [ShouldIllustrationPointsBeCalculated]) +SELECT + [HydraulicLocationCalculationEntityId], + [HydraulicLocationEntityId], + [HydraulicLocationCalculationCollectionEntityId], + 0 +FROM TempHydraulicLocationCalculationCollectionEntity collections +JOIN TempHydraulicLocationCalculationEntity calculations +ON calculations.CalculationType = collections.CalculationType +AND (calculations.AssessmentSectionEntityId = collections.AssessmentSectionEntityId + OR calculations.GrassCoverErosionOutwardsFailureMechanismMetaEntityId = collections.GrassCoverErosionOutwardsFailureMechanismMetaEntityId); + +-- Migration for the Hydraulic Boundary Locations on Assessment Section Level +INSERT INTO AssessmentSectionEntity ( + [AssessmentSectionEntityId], + [ProjectEntityId], + [HydraulicLocationCalculationCollectionEntity1Id], + [HydraulicLocationCalculationCollectionEntity2Id], + [HydraulicLocationCalculationCollectionEntity3Id], + [HydraulicLocationCalculationCollectionEntity4Id], + [HydraulicLocationCalculationCollectionEntity5Id], + [HydraulicLocationCalculationCollectionEntity6Id], + [HydraulicLocationCalculationCollectionEntity7Id], + [HydraulicLocationCalculationCollectionEntity8Id], + [Id], + [Name], + [Comments], + [LowerLimitNorm], + [SignalingNorm], + [NormativeNormType], + [HydraulicDatabaseVersion], + [HydraulicDatabaseLocation], + [Composition], + [ReferenceLinePointXml], + [Order]) +SELECT + [AssessmentSectionEntityId], + [ProjectEntityId], + [WaterLevelCalculationsForFactorizedSignalingNormId], + [WaterLevelCalculationsForSignalingNormId], + [WaterLevelCalculationsForLowerLimitNormId], + [WaterLevelCalculationsForFactorizedLowerLimitNormId], + [WaveHeightCalculationsForFactorizedSignalingNormId], + [WaveHeightCalculationsForSignalingNormId], + [WaveHeightCalculationsForLowerLimitNormId], + [WaveHeightCalculationsForFactorizedLowerLimitNormId], + [Id], + [Name], + [Comments], + [LowerLimitNorm], + [SignalingNorm], + [NormativeNormType], + [HydraulicDatabaseVersion], + [HydraulicDatabaseLocation], + [Composition], + REPLACE( + REPLACE(ReferenceLinePointXml, ' xmlns="http://schemas.datacontract.org/2004/07/Application.Ringtoets.Storage.Serializers"', ''), + 'Point2DXmlSerializer.SerializablePoint2D', + 'SerializablePoint2D' + ), + [Order] +FROM [SOURCEPROJECT].AssessmentSectionEntity +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaterLevelCalculationsForFactorizedSignalingNormId, + AssessmentSectionEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 0 +) USING(AssessmentSectionEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaterLevelCalculationsForSignalingNormId, + AssessmentSectionEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 1 +) USING(AssessmentSectionEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaterLevelCalculationsForLowerLimitNormId, + AssessmentSectionEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 2 +) USING(AssessmentSectionEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaterLevelCalculationsForFactorizedLowerLimitNormId, + AssessmentSectionEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 3 +) USING(AssessmentSectionEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaveHeightCalculationsForFactorizedSignalingNormId, + AssessmentSectionEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 4 +) USING(AssessmentSectionEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaveHeightCalculationsForSignalingNormId, + AssessmentSectionEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 5 +) USING(AssessmentSectionEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaveHeightCalculationsForLowerLimitNormId, + AssessmentSectionEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 6 +) USING(AssessmentSectionEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaveHeightCalculationsForFactorizedLowerLimitNormId, + AssessmentSectionEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 7 +) USING(AssessmentSectionEntityId); + +-- Update the calculation inputs +UPDATE HydraulicLocationCalculationEntity + SET [ShouldIllustrationPointsBeCalculated] = 1 + WHERE HydraulicLocationCalculationEntityId IN ( + SELECT + HydraulicLocationCalculationEntityId + FROM AssessmentSectionEntity ase + JOIN HydraulicLocationCalculationCollectionEntity hlcce + ON ase.HydraulicLocationCalculationCollectionEntity2Id = hlcce.HydraulicLocationCalculationCollectionEntityId + OR ase.HydraulicLocationCalculationCollectionEntity3Id = hlcce.HydraulicLocationCalculationCollectionEntityId + OR ase.HydraulicLocationCalculationCollectionEntity6Id = hlcce.HydraulicLocationCalculationCollectionEntityId + OR ase.HydraulicLocationCalculationCollectionEntity7Id = hlcce.HydraulicLocationCalculationCollectionEntityId + JOIN HydraulicLocationCalculationEntity USING(HydraulicLocationCalculationCollectionEntityId) + JOIN [SOURCEPROJECT].HydraulicLocationEntity USING(HydraulicLocationEntityId) + WHERE(ShouldDesignWaterLevelIllustrationPointsBeCalculated = 1 AND NormativeNormType = 2 AND ase.HydraulicLocationCalculationCollectionEntity2Id = hlcce.HydraulicLocationCalculationCollectionEntityId) + OR (ShouldDesignWaterLevelIllustrationPointsBeCalculated = 1 AND NormativeNormType = 1 AND ase.HydraulicLocationCalculationCollectionEntity3Id = hlcce.HydraulicLocationCalculationCollectionEntityId) + OR (ShouldWaveHeightIllustrationPointsBeCalculated = 1 AND NormativeNormType = 2 AND ase.HydraulicLocationCalculationCollectionEntity6Id = hlcce.HydraulicLocationCalculationCollectionEntityId) + OR (ShouldWaveHeightIllustrationPointsBeCalculated = 1 AND NormativeNormType = 1 AND ase.HydraulicLocationCalculationCollectionEntity7Id = hlcce.HydraulicLocationCalculationCollectionEntityId) +); + +-- Migration for the Hydraulic Boundary Locations on Grass Cover Erosion Outwards Failure Mechanism Level +INSERT INTO GrassCoverErosionOutwardsFailureMechanismMetaEntity ( + [GrassCoverErosionOutwardsFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [HydraulicLocationCalculationCollectionEntity1Id], + [HydraulicLocationCalculationCollectionEntity2Id], + [HydraulicLocationCalculationCollectionEntity3Id], + [HydraulicLocationCalculationCollectionEntity4Id], + [HydraulicLocationCalculationCollectionEntity5Id], + [HydraulicLocationCalculationCollectionEntity6Id], + [N], + [ForeshoreProfileCollectionSourcePath]) +SELECT + [GrassCoverErosionOutwardsFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [WaterLevelCalculationsForFailureMechanismSpecificFactorizedSignalingNormId], + [WaterLevelCalculationsForFailureMechanismSpecificSignalingNormId], + [WaterLevelCalculationsForFailureMechanismSpecificLowerLimitNormId], + [WaveHeightCalculationsForFailureMechanismSpecificFactorizedSignalingNormId], + [WaveHeightCalculationsForFailureMechanismSpecificSignalingNormId], + [WaveHeightCalculationsForFailureMechanismSpecificLowerLimitNormId], + [N], + [ForeshoreProfileCollectionSourcePath] +FROM [SOURCEPROJECT].GrassCoverErosionOutwardsFailureMechanismMetaEntity +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaterLevelCalculationsForFailureMechanismSpecificFactorizedSignalingNormId, + GrassCoverErosionOutwardsFailureMechanismMetaEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 8 +) USING(GrassCoverErosionOutwardsFailureMechanismMetaEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaterLevelCalculationsForFailureMechanismSpecificSignalingNormId, + GrassCoverErosionOutwardsFailureMechanismMetaEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 9 +) USING(GrassCoverErosionOutwardsFailureMechanismMetaEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaterLevelCalculationsForFailureMechanismSpecificLowerLimitNormId, + GrassCoverErosionOutwardsFailureMechanismMetaEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 10 +) USING(GrassCoverErosionOutwardsFailureMechanismMetaEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaveHeightCalculationsForFailureMechanismSpecificFactorizedSignalingNormId, + GrassCoverErosionOutwardsFailureMechanismMetaEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 11 +) USING(GrassCoverErosionOutwardsFailureMechanismMetaEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaveHeightCalculationsForFailureMechanismSpecificSignalingNormId, + GrassCoverErosionOutwardsFailureMechanismMetaEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 12 +) USING(GrassCoverErosionOutwardsFailureMechanismMetaEntityId) +JOIN ( + SELECT + HydraulicLocationCalculationCollectionEntityId AS WaveHeightCalculationsForFailureMechanismSpecificLowerLimitNormId, + GrassCoverErosionOutwardsFailureMechanismMetaEntityId + FROM TempHydraulicLocationCalculationCollectionEntity WHERE CalculationType = 13 +) USING(GrassCoverErosionOutwardsFailureMechanismMetaEntityId); + +-- Update the calculation inputs +UPDATE HydraulicLocationCalculationEntity + SET [ShouldIllustrationPointsBeCalculated] = 1 + WHERE HydraulicLocationCalculationEntityId IN ( + SELECT + HydraulicLocationCalculationEntityId + FROM GrassCoverErosionOutwardsFailureMechanismMetaEntity gceofmme + JOIN FailureMechanismEntity fm USING(FailureMechanismEntityId) + JOIN AssessmentSectionEntity USING(AssessmentSectionEntityId) + JOIN HydraulicLocationCalculationCollectionEntity hlcce + ON gceofmme.HydraulicLocationCalculationCollectionEntity2Id = hlcce.HydraulicLocationCalculationCollectionEntityId + OR gceofmme.HydraulicLocationCalculationCollectionEntity3Id = hlcce.HydraulicLocationCalculationCollectionEntityId + OR gceofmme.HydraulicLocationCalculationCollectionEntity5Id = hlcce.HydraulicLocationCalculationCollectionEntityId + OR gceofmme.HydraulicLocationCalculationCollectionEntity6Id = hlcce.HydraulicLocationCalculationCollectionEntityId + JOIN HydraulicLocationCalculationEntity USING(HydraulicLocationCalculationCollectionEntityId) + JOIN HydraulicLocationEntity hl USING(HydraulicLocationEntityId) + JOIN TempGrassCoverErosionOutwardsHydraulicBoundaryLocationLookupTable USING(HydraulicLocationEntityId) + JOIN [SOURCEPROJECT].GrassCoverErosionOutwardsHydraulicLocationEntity USING(GrassCoverErosionOutwardsHydraulicLocationEntityId) + WHERE (ShouldDesignWaterLevelIllustrationPointsBeCalculated = 1 AND NormativeNormType = 2 AND gceofmme.HydraulicLocationCalculationCollectionEntity2Id = hlcce.HydraulicLocationCalculationCollectionEntityId) + OR (ShouldDesignWaterLevelIllustrationPointsBeCalculated = 1 AND NormativeNormType = 1 AND gceofmme.HydraulicLocationCalculationCollectionEntity3Id = hlcce.HydraulicLocationCalculationCollectionEntityId) + OR (ShouldWaveHeightIllustrationPointsBeCalculated = 1 AND NormativeNormType = 2 AND gceofmme.HydraulicLocationCalculationCollectionEntity5Id = hlcce.HydraulicLocationCalculationCollectionEntityId) + OR (ShouldWaveHeightIllustrationPointsBeCalculated = 1 AND NormativeNormType = 1 AND gceofmme.HydraulicLocationCalculationCollectionEntity6Id = hlcce.HydraulicLocationCalculationCollectionEntityId) +); + +-- Migrate the grass cover erosion outwards wave conditions calculations +INSERT INTO GrassCoverErosionOutwardsWaveConditionsCalculationEntity ( + [GrassCoverErosionOutwardsWaveConditionsCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + [HydraulicLocationEntityId], + [Order], + [Name], + [Comments], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [Orientation], + [UpperBoundaryRevetment], + [LowerBoundaryRevetment], + [UpperBoundaryWaterLevels], + [LowerBoundaryWaterLevels], + [StepSize], + [CategoryType]) +SELECT + [GrassCoverErosionOutwardsWaveConditionsCalculationEntityId], + [CalculationGroupEntityId], + [ForeshoreProfileEntityId], + lookup.HydraulicLocationEntityId, + calc.'Order', + calc.Name, + calc.Comments, + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [UseForeshore], + [Orientation], + [UpperBoundaryRevetment], + [LowerBoundaryRevetment], + [UpperBoundaryWaterLevels], + [LowerBoundaryWaterLevels], + [StepSize], + CASE + WHEN [NormativeNormType] = 1 + THEN 3 + ELSE + 2 + END +FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsCalculationEntity calc +LEFT JOIN TempGrassCoverErosionOutwardsHydraulicBoundaryLocationLookupTable lookup USING(GrassCoverErosionOutwardsHydraulicLocationEntityId) +JOIN CalculationGroupEntity USING(CalculationGroupEntityId) +JOIN FailureMechanismEntity USING(CalculationGroupEntityId) +JOIN AssessmentSectionEntity USING(AssessmentSectionEntityId); + +-- Migrate dune locations and associated data. +/* +Note, the following conventions are used for the calculation type on AssessmentSectionEntity: +- The dune calculations for the mechanism specific factorized signaling norm = 0. +- The dune calculations for the mechanism specific signaling norm = 1. +- The dune calculations for the mechanism specific lower limit norm = 2. +- The dune calculations for the lower limit norm = 3. +- The dune calculations for the factorized lower limit norm = 4. +*/ +CREATE TEMP TABLE TempDuneCalculationTypes ( 'CalculationType' TINYINT (1) NOT NULL); +INSERT INTO TempDuneCalculationTypes VALUES (0); +INSERT INTO TempDuneCalculationTypes VALUES (1); +INSERT INTO TempDuneCalculationTypes VALUES (2); +INSERT INTO TempDuneCalculationTypes VALUES (3); +INSERT INTO TempDuneCalculationTypes VALUES (4); + +-- Create the calculation collections +CREATE TEMP TABLE TempDuneLocationCalculationCollectionEntity +( + 'DuneLocationCalculationCollectionEntityId' INTEGER NOT NULL, + 'DuneErosionFailureMechanismMetaEntityId' INTEGER NOT NULL, + 'CalculationType' TINYINT (1) NOT NULL, + PRIMARY KEY + ( + 'DuneLocationCalculationCollectionEntityId' AUTOINCREMENT + ) +); + +INSERT INTO TempDuneLocationCalculationCollectionEntity ( + [DuneErosionFailureMechanismMetaEntityId], + [CalculationType]) +SELECT + [DuneErosionFailureMechanismMetaEntityId], + [CalculationType] +FROM [SOURCEPROJECT].DuneErosionFailureMechanismMetaEntity +JOIN ( + SELECT * + FROM TempDuneCalculationTypes +); + +INSERT INTO DuneLocationCalculationCollectionEntity( + [DuneLocationCalculationCollectionEntityId]) +SELECT + [DuneLocationCalculationCollectionEntityId] +FROM TempDuneLocationCalculationCollectionEntity; + +-- Create the calculation entities +CREATE TEMP TABLE TempDuneLocationCalculationEntity +( + 'DuneLocationCalculationEntityId' INTEGER NOT NULL, + 'DuneLocationEntityId' INTEGER NOT NULL, + 'DuneErosionFailureMechanismMetaEntityId' INTEGER, + 'CalculationType' TINYINT (1) NOT NULL, + PRIMARY KEY + ( + 'DuneLocationCalculationEntityId' AUTOINCREMENT + ) +); + +INSERT INTO TempDuneLocationCalculationEntity( + [DuneLocationEntityId], + [DuneErosionFailureMechanismMetaEntityId], + [CalculationType]) +SELECT + [DuneLocationEntityId], + [DuneErosionFailureMechanismMetaEntityId], + [CalculationType] +FROM [SourceProject].FailureMechanismEntity +JOIN [SourceProject].DuneLocationEntity USING(FailureMechanismEntityId) +JOIN [SourceProject].DuneErosionFailureMechanismMetaEntity USING(FailureMechanismEntityId) +JOIN ( + SELECT * + FROM TempDuneCalculationTypes +); + +INSERT INTO DuneLocationCalculationEntity( + [DuneLocationCalculationEntityId], + [DuneLocationEntityId], + [DuneLocationCalculationCollectionEntityId]) +SELECT + [DuneLocationCalculationEntityId], + [DuneLocationEntityId], + [DuneLocationCalculationCollectionEntityId] +FROM TempDuneLocationCalculationCollectionEntity collections +JOIN TempDuneLocationCalculationEntity calculations +ON collections.CalculationType = calculations.CalculationType +AND collections.DuneErosionFailureMechanismMetaEntityId = calculations.DuneErosionFailureMechanismMetaEntityId; + +-- Migrate the dune erosion failure mechanism meta entity +INSERT INTO DuneErosionFailureMechanismMetaEntity ( + DuneErosionFailureMechanismMetaEntityId, + FailureMechanismEntityId, + DuneLocationCalculationCollectionEntity1Id, + DuneLocationCalculationCollectionEntity2Id, + DuneLocationCalculationCollectionEntity3Id, + DuneLocationCalculationCollectionEntity4Id, + DuneLocationCalculationCollectionEntity5Id, + N +) +SELECT + [DuneErosionFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [CalculationsForMechanismSpecificFactorizedSignalingNorm], + [CalculationsForMechanismSpecificSignalingNorm], + [CalculationsForMechanismSpecificLowerLimitNorm], + [CalculationsForLowerLimitNorm], + [CalculationsForFactorizedLowerLimitNorm], + [N] +FROM [SOURCEPROJECT].DuneErosionFailureMechanismMetaEntity +JOIN ( + SELECT + DuneLocationCalculationCollectionEntityId AS CalculationsForMechanismSpecificFactorizedSignalingNorm, + DuneErosionFailureMechanismMetaEntityId + FROM TempDuneLocationCalculationCollectionEntity WHERE CalculationType = 0 +) USING (DuneErosionFailureMechanismMetaEntityId) +JOIN ( + SELECT + DuneLocationCalculationCollectionEntityId AS CalculationsForMechanismSpecificSignalingNorm, + DuneErosionFailureMechanismMetaEntityId + FROM TempDuneLocationCalculationCollectionEntity WHERE CalculationType = 1 +) USING (DuneErosionFailureMechanismMetaEntityId) +JOIN ( + SELECT + DuneLocationCalculationCollectionEntityId AS CalculationsForMechanismSpecificLowerLimitNorm, + DuneErosionFailureMechanismMetaEntityId + FROM TempDuneLocationCalculationCollectionEntity WHERE CalculationType = 2 +) USING (DuneErosionFailureMechanismMetaEntityId) +JOIN ( + SELECT + DuneLocationCalculationCollectionEntityId AS CalculationsForLowerLimitNorm, + DuneErosionFailureMechanismMetaEntityId + FROM TempDuneLocationCalculationCollectionEntity WHERE CalculationType = 3 +) USING (DuneErosionFailureMechanismMetaEntityId) +JOIN ( + SELECT + DuneLocationCalculationCollectionEntityId AS CalculationsForFactorizedLowerLimitNorm, + DuneErosionFailureMechanismMetaEntityId + FROM TempDuneLocationCalculationCollectionEntity WHERE CalculationType = 4 +) USING (DuneErosionFailureMechanismMetaEntityId); + +-- Cleanup +DROP TABLE TempCalculationTypes; +DROP TABLE TempHydraulicLocationCalculationEntity; +DROP TABLE TempHydraulicLocationCalculationCollectionEntity; +DROP TABLE TempGrassCoverErosionOutwardsHydraulicBoundaryLocationLookupTable; + +DROP TABLE TempDuneCalculationTypes; +DROP TABLE TempDuneLocationCalculationCollectionEntity; +DROP TABLE TempDuneLocationCalculationEntity; + +/* +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 ("17.3", "18.1", "Gevolgen van de migratie van versie 17.3 naar versie 18.1:"); + +CREATE TEMP TABLE TempLogOutputDeleted +( + 'NrDeleted' INTEGER NOT NULL +); + +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].ClosingStructuresOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].DuneLocationOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionInwardsDikeHeightOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionInwardsOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionInwardsOvertoppingRateOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionOutwardsHydraulicLocationOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].HeightStructuresOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].HydraulicLocationOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].StabilityPointStructuresOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsOutputEntity; +INSERT INTO TempLogOutputDeleted +SELECT COUNT() + FROM [SOURCEPROJECT].MacroStabilityInwardsCalculationOutputEntity + WHERE MacroStabilityInwardsCalculationEntityId IN ( + SELECT MacroStabilityInwardsCalculationEntityId + FROM [SOURCEPROJECT].MacroStabilityInwardsCalculationEntity + WHERE UseAssessmentLevelManualInput IS 0 + ); +INSERT INTO TempLogOutputDeleted +SELECT COUNT() + FROM [SOURCEPROJECT].PipingCalculationOutputEntity + WHERE PipingCalculationEntityId IN ( + SELECT PipingCalculationEntityId + FROM [SOURCEPROJECT].PipingCalculationEntity + WHERE UseAssessmentLevelManualInput IS 0 + ); + +CREATE TEMP TABLE TempLogOutputRemaining +( + 'NrRemaining' INTEGER NOT NULL +); +INSERT INTO TempLogOutputRemaining +SELECT COUNT() + +( + SELECT COUNT() + FROM [SOURCEPROJECT].PipingCalculationOutputEntity + JOIN [SOURCEPROJECT].PipingCalculationEntity USING(PipingCalculationEntityId) + WHERE UseAssessmentLevelManualInput = 1 +) +FROM [SOURCEPROJECT].MacroStabilityInwardsCalculationOutputEntity +JOIN [SOURCEPROJECT].MacroStabilityInwardsCalculationEntity USING(MacroStabilityInwardsCalculationEntityId) +WHERE UseAssessmentLevelManualInput = 1; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +SELECT + "17.3", + "18.1", + CASE + WHEN [NrRemaining] > 0 + THEN "* Alle berekende resultaten zijn verwijderd, behalve die van het toetsspoor 'Piping' en 'Macrostabiliteit binnenwaarts' waarbij de waterstand handmatig is ingevuld." + ELSE "* Alle berekende resultaten zijn verwijderd." + END + FROM TempLogOutputDeleted + LEFT JOIN TempLogOutputRemaining + WHERE [NrDeleted] > 0 + LIMIT 1; + +DROP TABLE TempLogOutputDeleted; +DROP TABLE TempLogOutputRemaining; + +CREATE TEMP TABLE TempFailureMechanisms +( + 'FailureMechanismType' INTEGER NOT NULL, + 'FailureMechanismName' VARCHAR(255) NOT NULL +); + +INSERT INTO TempFailureMechanisms VALUES (1, 'Piping'); +INSERT INTO TempFailureMechanisms VALUES (2, 'Macrostabiliteit binnenwaarts'); +INSERT INTO TempFailureMechanisms VALUES (3, 'Golfklappen op asfaltbekleding'); +INSERT INTO TempFailureMechanisms VALUES (4, 'Grasbekleding erosie buitentalud'); +INSERT INTO TempFailureMechanisms VALUES (5, 'Grasbekleding afschuiven buitentalud'); +INSERT INTO TempFailureMechanisms VALUES (6, 'Grasbekleding erosie kruin en binnentalud'); +INSERT INTO TempFailureMechanisms VALUES (7, 'Stabiliteit steenzetting'); +INSERT INTO TempFailureMechanisms VALUES (8, 'Duinafslag'); +INSERT INTO TempFailureMechanisms VALUES (9, 'Hoogte kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (10, 'Betrouwbaarheid sluiting kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (11, 'Piping bij kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (12, 'Sterkte en stabiliteit puntconstructies'); +INSERT INTO TempFailureMechanisms VALUES (13, 'Macrostabiliteit buitenwaarts'); +INSERT INTO TempFailureMechanisms VALUES (14, 'Microstabiliteit'); +INSERT INTO TempFailureMechanisms VALUES (15, 'Wateroverdruk bij asfaltbekleding'); +INSERT INTO TempFailureMechanisms VALUES (16, 'Grasbekleding afschuiven binnentalud'); +INSERT INTO TempFailureMechanisms VALUES (17, 'Sterkte en stabiliteit langsconstructies'); +INSERT INTO TempFailureMechanisms VALUES (18, 'Technische innovaties'); + +CREATE TEMP TABLE TempAssessmentSectionFailureMechanism +( + [AssessmentSectionId], + [AssessmentSectionName], + [FailureMechanismId], + [FailureMechanismName] +); + +INSERT INTO TempAssessmentSectionFailureMechanism +SELECT + [AssessmentSectionEntityId], + [Name], + [FailureMechanismEntityId], + [FailureMechanismName] + FROM AssessmentSectionEntity + JOIN FailureMechanismEntity USING(AssessmentSectionEntityId) + JOIN TempFailureMechanisms USING(FailureMechanismType); + +CREATE TEMP TABLE TempChanges +( + [AssessmentSectionId], + [AssessmentSectionName], + [FailureMechanismId], + [FailureMechanismName], + [msg] +); + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[BelowPhreaticLevelMean] || "' voor het gemiddelde van parameter 'Verzadigd gewicht' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[BelowPhreaticLevelMean] IS NOT psl.[BelowPhreaticLevelMean]; + + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[BelowPhreaticLevelDeviation] || "' voor de standaardafwijking van parameter 'Verzadigd gewicht' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[BelowPhreaticLevelDeviation] IS NOT psl.[BelowPhreaticLevelDeviation]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[BelowPhreaticLevelShift] || "' voor de verschuiving van parameter 'Verzadigd gewicht' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[BelowPhreaticLevelShift] IS NOT psl.[BelowPhreaticLevelShift]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[DiameterD70Mean] || "' voor het gemiddelde van parameter 'd70' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[DiameterD70Mean] IS NOT psl.[DiameterD70Mean]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[DiameterD70CoefficientOfVariation] || "' voor de variatieco" || CAST(X'c3ab' AS TEXT) || "ffici" || CAST(X'c3ab' AS TEXT) || "nt van parameter 'd70' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[DiameterD70CoefficientOfVariation] IS NOT psl.[DiameterD70CoefficientOfVariation]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[PermeabilityMean] || "' voor het gemiddelde van parameter 'Doorlatendheid' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[PermeabilityMean] IS NOT psl.[PermeabilityMean]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[PermeabilityCoefficientOfVariation] || "' voor de variatieco" || CAST(X'c3ab' AS TEXT) || "ffici" || CAST(X'c3ab' AS TEXT) || "nt van parameter 'Doorlatendheid' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[PermeabilityCoefficientOfVariation] IS NOT psl.[PermeabilityCoefficientOfVariation]; + +/* +* Log changed simple assessment results +*/ +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM ClosingStructuresSectionResultEntity as sre + JOIN [SOURCEPROJECT].ClosingStructuresSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM GrassCoverErosionOutwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].GrassCoverErosionOutwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM GrassCoverSlipOffInwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].GrassCoverSlipOffInwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM GrassCoverSlipOffOutwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].GrassCoverSlipOffOutwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM HeightStructuresSectionResultEntity as sre + JOIN [SOURCEPROJECT].HeightStructuresSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM MacroStabilityInwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].MacroStabilityInwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM MacroStabilityOutwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].MacroStabilityOutwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM MicrostabilitySectionResultEntity as sre + JOIN [SOURCEPROJECT].MicrostabilitySectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM PipingSectionResultEntity as sre + JOIN [SOURCEPROJECT].PipingSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM PipingStructureSectionResultEntity as sre + JOIN [SOURCEPROJECT].PipingStructureSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM StrengthStabilityLengthwiseConstructionSectionResultEntity as sre + JOIN [SOURCEPROJECT].StrengthStabilityLengthwiseConstructionSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM TechnicalInnovationSectionResultEntity as sre + JOIN [SOURCEPROJECT].TechnicalInnovationSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM WaterPressureAsphaltCoverSectionResultEntity as sre + JOIN [SOURCEPROJECT].WaterPressureAsphaltCoverSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten met de waarde 'Voldoende / Niet relevant' voor de eenvoudige toets van dit toetsspoor zijn omgezet naar 'NVT'." + FROM WaveImpactAsphaltCoverSectionResultEntity as sre + JOIN [SOURCEPROJECT].WaveImpactAsphaltCoverSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerOne] = 2; + +/* +* Log removed detailed assessment results +*/ +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de gedetailleerde toets van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM StabilityStoneCoverSectionResultEntity as sre + JOIN [SOURCEPROJECT].StabilityStoneCoverSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerTwoA] != 1; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de gedetailleerde toets van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM WaveImpactAsphaltCoverSectionResultEntity as sre + JOIN [SOURCEPROJECT].WaveImpactAsphaltCoverSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerTwoA] != 1; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de gedetailleerde toets van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM GrassCoverErosionOutwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].GrassCoverErosionOutwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerTwoA] != 1; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de gedetailleerde toets van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM DuneErosionSectionResultEntity as sre + JOIN [SOURCEPROJECT].DuneErosionSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerTwoA] != 1; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de gedetailleerde toets van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM MicrostabilitySectionResultEntity as sre + JOIN [SOURCEPROJECT].MicrostabilitySectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerTwoA] != 1; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de gedetailleerde toets van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM GrassCoverSlipOffOutwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].GrassCoverSlipOffOutwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerTwoA] != 1; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de gedetailleerde toets van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM GrassCoverSlipOffInwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].GrassCoverSlipOffInwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerTwoA] != 1; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de gedetailleerde toets van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM PipingStructureSectionResultEntity as sre + JOIN [SOURCEPROJECT].PipingStructureSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerTwoA] != 1; + +/* +* Log removed tailor made assessment results +*/ +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM StabilityStoneCoverSectionResultEntity as sre + JOIN [SOURCEPROJECT].StabilityStoneCoverSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM WaveImpactAsphaltCoverSectionResultEntity as sre + JOIN [SOURCEPROJECT].WaveImpactAsphaltCoverSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM GrassCoverErosionOutwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].GrassCoverErosionOutwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM DuneErosionSectionResultEntity as sre + JOIN [SOURCEPROJECT].DuneErosionSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM MacroStabilityOutwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].MacroStabilityOutwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM MicrostabilitySectionResultEntity as sre + JOIN [SOURCEPROJECT].MicrostabilitySectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM WaterPressureAsphaltCoverSectionResultEntity as sre + JOIN [SOURCEPROJECT].WaterPressureAsphaltCoverSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM GrassCoverSlipOffOutwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].GrassCoverSlipOffOutwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM GrassCoverSlipOffInwardsSectionResultEntity as sre + JOIN [SOURCEPROJECT].GrassCoverSlipOffInwardsSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM PipingStructureSectionResultEntity as sre + JOIN [SOURCEPROJECT].PipingStructureSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM StrengthStabilityLengthwiseConstructionSectionResultEntity as sre + JOIN [SOURCEPROJECT].StrengthStabilityLengthwiseConstructionSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "Alle resultaten voor de toets op maat van dit toetsspoor konden niet worden omgezet naar een geldig resultaat en zijn verwijderd." + FROM TechnicalInnovationSectionResultEntity as sre + JOIN [SOURCEPROJECT].TechnicalInnovationSectionResultEntity AS source ON sre.[rowid] = source.[rowid] + JOIN FailureMechanismSectionEntity as fms ON fms.[FailureMechanismSectionEntityId] = sre.[FailureMechanismSectionEntityId] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = fms.[FailureMechanismEntityId] + WHERE source.[LayerThree] IS NOT NULL; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde van '" || source.[ProbabilityOrFrequencyOpenStructureBeforeFlooding] || "' van parameter 'Kans op open staan bij naderend hoogwater' van kunstwerk '" || source.[Name] || "' is ongeldig en is veranderd naar NaN." + FROM ClosingStructureEntity AS cs + JOIN [SOURCEPROJECT].ClosingStructureEntity AS source ON cs.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = cs.[FailureMechanismEntityId] + WHERE source.[ProbabilityOrFrequencyOpenStructureBeforeFlooding] IS NOT cs.[ProbabilityOpenStructureBeforeFlooding]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde van '" || source.[IdenticalApertures] || "' van parameter 'Aantal identieke doorstroomopeningen' van kunstwerk '" || source.[Name] || "' is ongeldig en is veranderd naar 1." + FROM ClosingStructureEntity AS cs + JOIN [SOURCEPROJECT].ClosingStructureEntity AS source ON cs.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = cs.[FailureMechanismEntityId] + WHERE source.[IdenticalApertures] != cs.[IdenticalApertures]; + +/* +* Log changes that are applied to closing and stability point structure calculations +*/ +CREATE TEMP TABLE TempMigratedStructuresCalculationGroupMapping +( + 'CalculationGroupEntityId' INTEGER NOT NULL, + 'FailureMechanismEntityId' INTEGER NOT NULL, + PRIMARY KEY + ( + 'CalculationGroupEntityId' + ) +); + +INSERT INTO TempMigratedStructuresCalculationGroupMapping( + [CalculationGroupEntityId], + [FailureMechanismEntityId] +) +SELECT + [CalculationGroupEntityId], + [FailureMechanismEntityId] +FROM +( +WITH RECURSIVE CalculationGroupEntities(CalculationGroupEntityId, ParentCalculationGroupEntityId, FailureMechanismEntityId) AS ( +SELECT + CalculationGroupEntityId, + NULL, + FailureMechanismEntityId +FROM FailureMechanismEntity +WHERE FailureMechanismEntity.FailureMechanismType = 10 +OR FailureMechanismEntity.FailureMechanismType = 12 +UNION ALL +SELECT + CalculationGroupEntity.CalculationGroupEntityId, + CalculationGroupEntity.ParentCalculationGroupEntityId, + CalculationGroupEntities.FailureMechanismEntityId +FROM CalculationGroupEntity, CalculationGroupEntities +WHERE CalculationGroupEntity.ParentCalculationGroupEntityId = CalculationGroupEntities.CalculationGroupEntityId +) +SELECT + CalculationGroupEntities.CalculationGroupEntityId AS CalculationGroupEntityId, + CalculationGroupEntities.FailureMechanismEntityId AS FailureMechanismEntityId +FROM CalculationGroupEntities +ORDER BY FailureMechanismEntityId +); + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde van '" || source.[IdenticalApertures] || "' van parameter 'Aantal identieke doorstroomopeningen' van berekening '" || source.[Name] || "' is ongeldig en is veranderd naar 1." + FROM ClosingStructuresCalculationEntity AS cs + JOIN [SOURCEPROJECT].ClosingStructuresCalculationEntity AS source ON cs.[rowid] = source.[rowid] + JOIN TempMigratedStructuresCalculationGroupMapping mapping USING(CalculationGroupEntityId) + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = mapping.[FailureMechanismEntityId] + WHERE source.[IdenticalApertures] != cs.[IdenticalApertures]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde van '" || source.[LevellingCount] || "' van parameter 'Aantal nivelleringen per jaar' van berekening '" || source.[Name] || "' is ongeldig en is veranderd naar 0." + FROM StabilityPointStructuresCalculationEntity AS sps + JOIN [SOURCEPROJECT].StabilityPointStructuresCalculationEntity AS source ON sps.[rowid] = source.[rowid] + JOIN TempMigratedStructuresCalculationGroupMapping mapping USING(CalculationGroupEntityId) + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = mapping.[FailureMechanismEntityId] + WHERE source.[LevellingCount] != sps.[LevellingCount]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde van '" || source.[VerticalDistance] || "' van parameter 'Afstand onderkant wand en teen van de dijk/berm' van berekening '" || source.[Name] || "' is ongeldig en is veranderd naar NaN." + FROM StabilityPointStructuresCalculationEntity AS sps + JOIN [SOURCEPROJECT].StabilityPointStructuresCalculationEntity AS source ON sps.[rowid] = source.[rowid] + JOIN TempMigratedStructuresCalculationGroupMapping mapping USING(CalculationGroupEntityId) + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = mapping.[FailureMechanismEntityId] + WHERE source.[VerticalDistance] IS NOT sps.[VerticalDistance]; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +WITH RECURSIVE +FailureMechanismMessages +( + [FailureMechanismId], + [FailureMechanismName], + [AssessmentSectionId], + [AssessmentSectionName], + [msg], + [level] +) AS ( +SELECT DISTINCT + [FailureMechanismId], + [FailureMechanismName], + [AssessmentSectionId], + [AssessmentSectionName], + NULL, + 1 + FROM TempChanges + UNION +SELECT [FailureMechanismId], + NULL, + [AssessmentSectionId], + [AssessmentSectionName], + [msg], + 2 + FROM TempChanges + WHERE TempChanges.[FailureMechanismId] IS [FailureMechanismId] + ORDER BY 1, 3 +), +AssessmentSectionFailureMechanismMessages +( + [AssessmentSectionId], + [AssessmentSectionName], + [FailureMechanismId], + [FailureMechanismName], + [msg], + [level] +) AS ( +SELECT DISTINCT + [AssessmentSectionId], + [AssessmentSectionName], + NULL, + NULL, + NULL, + 0 + FROM FailureMechanismMessages + WHERE [AssessmentSectionId] IS NOT NULL + UNION +SELECT + [AssessmentSectionId], + NULL, + fmm.[FailureMechanismId], + fmm.[FailureMechanismName], + [msg], + fmm.[level] + FROM FailureMechanismMessages AS fmm + WHERE fmm.[AssessmentSectionId] IS [AssessmentSectionId] + ORDER BY 1, 3, 6 +) +SELECT + "17.3", + "18.1", + CASE WHEN [AssessmentSectionName] IS NOT NULL + THEN "* Traject: '" || [AssessmentSectionName] || "'" + ELSE + CASE WHEN [FailureMechanismName] IS NOT NULL + THEN " + Toetsspoor: '" || [FailureMechanismName] || "'" + ELSE + " - " || [msg] + END + END +FROM AssessmentSectionFailureMechanismMessages; + +DROP TABLE TempFailureMechanisms; +DROP TABLE TempAssessmentSectionFailureMechanism; +DROP TABLE TempMigratedStructuresCalculationGroupMapping; +DROP TABLE TempChanges; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +SELECT "17.3", + "18.1", + "* Geen aanpassingen." + WHERE ( + SELECT COUNT() FROM [LOGDATABASE].MigrationLogEntity + WHERE [FromVersion] = "17.3" + ) IS 1; + +DETACH LOGDATABASE; + +DETACH SOURCEPROJECT; + +PRAGMA foreign_keys = ON; \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_18.1_19.1.sql (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,547 @@ + /* +Migration script for migrating Ringtoets databases. +SourceProject version: 18.1 +TargetProject version: 19.1 +*/ +PRAGMA foreign_keys = OFF; + +ATTACH DATABASE "{0}" AS SOURCEPROJECT; + +INSERT INTO AssessmentSectionEntity ( + [AssessmentSectionEntityId], + [ProjectEntityId], + [HydraulicLocationCalculationCollectionEntity1Id], + [HydraulicLocationCalculationCollectionEntity2Id], + [HydraulicLocationCalculationCollectionEntity3Id], + [HydraulicLocationCalculationCollectionEntity4Id], + [HydraulicLocationCalculationCollectionEntity5Id], + [HydraulicLocationCalculationCollectionEntity6Id], + [HydraulicLocationCalculationCollectionEntity7Id], + [HydraulicLocationCalculationCollectionEntity8Id], + [Id], + [Name], + [Comments], + [LowerLimitNorm], + [SignalingNorm], + [NormativeNormType], + [Composition], + [ReferenceLinePointXml], + [Order]) +SELECT + [AssessmentSectionEntityId], + [ProjectEntityId], + [HydraulicLocationCalculationCollectionEntity1Id], + [HydraulicLocationCalculationCollectionEntity2Id], + [HydraulicLocationCalculationCollectionEntity3Id], + [HydraulicLocationCalculationCollectionEntity4Id], + [HydraulicLocationCalculationCollectionEntity5Id], + [HydraulicLocationCalculationCollectionEntity6Id], + [HydraulicLocationCalculationCollectionEntity7Id], + [HydraulicLocationCalculationCollectionEntity8Id], + [Id], + [Name], + [Comments], + [LowerLimitNorm], + [SignalingNorm], + [NormativeNormType], + [Composition], + [ReferenceLinePointXml], + [Order] +FROM SOURCEPROJECT.AssessmentSectionEntity; +INSERT INTO BackgroundDataEntity ( + [BackgroundDataEntityId], + [AssessmentSectionEntityId], + [Name], + [IsVisible], + [Transparency], + [BackgroundDataType]) +SELECT + [BackgroundDataEntityId], + [AssessmentSectionEntityId], + [Name], + [IsVisible], + CASE + WHEN [Transparency] > 0 + THEN [Transparency] + ELSE + 0.6 + END, + [BackgroundDataType] +FROM [SOURCEPROJECT].BackgroundDataEntity; +INSERT INTO BackgroundDataMetaEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataMetaEntity; +INSERT INTO CalculationGroupEntity SELECT * FROM [SOURCEPROJECT].CalculationGroupEntity; +INSERT INTO ClosingStructureEntity SELECT * FROM [SOURCEPROJECT].ClosingStructureEntity; +INSERT INTO ClosingStructuresCalculationEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresCalculationEntity; +INSERT INTO ClosingStructuresFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresFailureMechanismMetaEntity; +INSERT INTO ClosingStructuresOutputEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresOutputEntity; +INSERT INTO ClosingStructuresSectionResultEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresSectionResultEntity; +INSERT INTO DikeProfileEntity SELECT * FROM [SOURCEPROJECT].DikeProfileEntity; +INSERT INTO DuneErosionFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].DuneErosionFailureMechanismMetaEntity; +INSERT INTO DuneErosionSectionResultEntity SELECT * FROM [SOURCEPROJECT].DuneErosionSectionResultEntity; +INSERT INTO DuneLocationCalculationCollectionEntity SELECT * FROM [SOURCEPROJECT].DuneLocationCalculationCollectionEntity; +INSERT INTO DuneLocationCalculationEntity SELECT * FROM [SOURCEPROJECT].DuneLocationCalculationEntity; +INSERT INTO DuneLocationCalculationOutputEntity SELECT * FROM [SOURCEPROJECT].DuneLocationCalculationOutputEntity; +INSERT INTO DuneLocationEntity SELECT * FROM [SOURCEPROJECT].DuneLocationEntity; +INSERT INTO FailureMechanismEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismEntity; +INSERT INTO FailureMechanismSectionEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismSectionEntity; +INSERT INTO FaultTreeIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].FaultTreeIllustrationPointEntity; +INSERT INTO FaultTreeIllustrationPointStochastEntity SELECT * FROM [SOURCEPROJECT].FaultTreeIllustrationPointStochastEntity; +INSERT INTO FaultTreeSubmechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].FaultTreeSubmechanismIllustrationPointEntity; +INSERT INTO ForeshoreProfileEntity SELECT * FROM [SOURCEPROJECT].ForeshoreProfileEntity; +INSERT INTO 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 GrassCoverErosionInwardsCalculationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsCalculationEntity; +INSERT INTO GrassCoverErosionInwardsDikeHeightOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsDikeHeightOutputEntity; +INSERT INTO GrassCoverErosionInwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsFailureMechanismMetaEntity; +INSERT INTO GrassCoverErosionInwardsOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsOutputEntity; +INSERT INTO GrassCoverErosionInwardsOvertoppingRateOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsOvertoppingRateOutputEntity; +INSERT INTO GrassCoverErosionInwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsSectionResultEntity; +INSERT INTO GrassCoverErosionOutwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsFailureMechanismMetaEntity; +INSERT INTO GrassCoverErosionOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsSectionResultEntity; +INSERT INTO GrassCoverErosionOutwardsWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsCalculationEntity; +INSERT INTO GrassCoverErosionOutwardsWaveConditionsOutputEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsOutputEntity; +INSERT INTO GrassCoverSlipOffInwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverSlipOffInwardsSectionResultEntity; +INSERT INTO GrassCoverSlipOffOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverSlipOffOutwardsSectionResultEntity; +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 HeightStructuresSectionResultEntity SELECT * FROM [SOURCEPROJECT].HeightStructuresSectionResultEntity; +INSERT INTO HydraulicLocationCalculationCollectionEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationCalculationCollectionEntity; +INSERT INTO HydraulicLocationCalculationEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationCalculationEntity; +INSERT INTO HydraulicLocationEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationEntity; +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 MacroStabilityInwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSectionResultEntity; +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 MacroStabilityOutwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityOutwardsFailureMechanismMetaEntity; +INSERT INTO MacroStabilityOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityOutwardsSectionResultEntity; +INSERT INTO MicrostabilitySectionResultEntity SELECT * FROM [SOURCEPROJECT].MicrostabilitySectionResultEntity; +INSERT INTO PipingCalculationEntity SELECT * FROM [SOURCEPROJECT].PipingCalculationEntity; +INSERT INTO PipingCalculationOutputEntity SELECT * FROM [SOURCEPROJECT].PipingCalculationOutputEntity; +INSERT INTO PipingCharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].PipingCharacteristicPointEntity; +INSERT INTO PipingFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].PipingFailureMechanismMetaEntity; +INSERT INTO PipingSectionResultEntity SELECT * FROM [SOURCEPROJECT].PipingSectionResultEntity; +INSERT INTO PipingSoilLayerEntity( + [PipingSoilLayerEntityId], + [PipingSoilProfileEntityId], + [Top], + [IsAquifer], + [Color], + [MaterialName], + [BelowPhreaticLevelMean] , + [BelowPhreaticLevelDeviation], + [BelowPhreaticLevelShift], + [DiameterD70Mean], + [DiameterD70CoefficientOfVariation], + [PermeabilityMean], + [PermeabilityCoefficientOfVariation], + [Order]) +SELECT + [PipingSoilLayerEntityId], + [PipingSoilProfileEntityId], + [Top], + [IsAquifer], + [Color], + [MaterialName], + CASE + WHEN [BelowPhreaticLevelMean] < 0.005 + THEN NULL + ELSE + [BelowPhreaticLevelMean] + END, + [BelowPhreaticLevelDeviation], + [BelowPhreaticLevelShift], + CASE + WHEN [DiameterD70Mean] <= 0.0000005 + THEN NULL + ELSE + [DiameterD70Mean] + END, + [DiameterD70CoefficientOfVariation], + CASE + WHEN [PermeabilityMean] <= 0.0000005 + THEN NULL + ELSE + [PermeabilityMean] + END, + [PermeabilityCoefficientOfVariation], + [Order] +FROM [SOURCEPROJECT].PipingSoilLayerEntity; +INSERT INTO PipingSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingSoilProfileEntity; +INSERT INTO PipingStochasticSoilProfileEntity SELECT * FROM [SOURCEPROJECT].PipingStochasticSoilProfileEntity; +INSERT INTO PipingStructureFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].PipingStructureFailureMechanismMetaEntity; +INSERT INTO PipingStructureSectionResultEntity SELECT * FROM [SOURCEPROJECT].PipingStructureSectionResultEntity; +INSERT INTO ProjectEntity SELECT * FROM [SOURCEPROJECT].ProjectEntity; +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 StabilityPointStructuresSectionResultEntity SELECT * FROM [SOURCEPROJECT].StabilityPointStructuresSectionResultEntity; +INSERT INTO StabilityStoneCoverFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverFailureMechanismMetaEntity; +INSERT INTO StabilityStoneCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverSectionResultEntity; +INSERT INTO StabilityStoneCoverWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsCalculationEntity; +INSERT INTO StabilityStoneCoverWaveConditionsOutputEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsOutputEntity; +INSERT INTO StochastEntity SELECT * FROM [SOURCEPROJECT].StochastEntity; +INSERT INTO StochasticSoilModelEntity SELECT * FROM [SOURCEPROJECT].StochasticSoilModelEntity; +INSERT INTO StrengthStabilityLengthwiseConstructionSectionResultEntity SELECT * FROM [SOURCEPROJECT].StrengthStabilityLengthwiseConstructionSectionResultEntity; +INSERT INTO SubMechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].SubMechanismIllustrationPointEntity; +INSERT INTO SubMechanismIllustrationPointStochastEntity SELECT * FROM [SOURCEPROJECT].SubMechanismIllustrationPointStochastEntity; +INSERT INTO SurfaceLineEntity SELECT * FROM [SOURCEPROJECT].SurfaceLineEntity; +INSERT INTO TechnicalInnovationSectionResultEntity SELECT * FROM [SOURCEPROJECT].TechnicalInnovationSectionResultEntity; +INSERT INTO TopLevelFaultTreeIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].TopLevelFaultTreeIllustrationPointEntity; +INSERT INTO TopLevelSubMechanismIllustrationPointEntity SELECT * FROM [SOURCEPROJECT].TopLevelSubMechanismIllustrationPointEntity; +INSERT INTO WaterPressureAsphaltCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].WaterPressureAsphaltCoverSectionResultEntity; +INSERT INTO VersionEntity ( + [VersionId], + [Version], + [Timestamp], + [FingerPrint]) +SELECT [VersionId], + "19.1", + [Timestamp], + [FingerPrint] +FROM [SOURCEPROJECT].VersionEntity; +INSERT INTO WaveImpactAsphaltCoverFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverFailureMechanismMetaEntity; +INSERT INTO WaveImpactAsphaltCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverSectionResultEntity; +INSERT INTO WaveImpactAsphaltCoverWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsCalculationEntity; +INSERT INTO WaveImpactAsphaltCoverWaveConditionsOutputEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsOutputEntity; + +/* +Insert new data +*/ + +-- Directory retrieval was taken from https://stackoverflow.com/questions/21388820/how-to-get-the-last-index-of-a-substring-in-sqlite +INSERT INTO HydraulicBoundaryDatabaseEntity ( + [AssessmentSectionEntityId], + [Version], + [FilePath], + [HydraulicLocationConfigurationSettingsFilePath], + [HydraulicLocationConfigurationSettingsScenarioName], + [HydraulicLocationConfigurationSettingsYear], + [HydraulicLocationConfigurationSettingsScope], + [HydraulicLocationConfigurationSettingsSeaLevel], + [HydraulicLocationConfigurationSettingsRiverDischarge], + [HydraulicLocationConfigurationSettingsLakeLevel], + [HydraulicLocationConfigurationSettingsWindDirection], + [HydraulicLocationConfigurationSettingsWindSpeed], + [HydraulicLocationConfigurationSettingsComment]) +SELECT + [AssessmentSectionEntityId], + [HydraulicDatabaseVersion], + [HydraulicDatabaseLocation], + rtrim([HydraulicDatabaseLocation], replace([HydraulicDatabaseLocation], '\', '')) || 'hlcd.sqlite', + "Conform WBI2017", + 2023, + "Conform WBI2017", + "Conform WBI2017", + "Conform WBI2017", + "Conform WBI2017", + "Conform WBI2017", + "Conform WBI2017", + "Gegenereerd door Ringtoets (conform WBI2017)" +FROM SOURCEPROJECT.AssessmentSectionEntity +WHERE [HydraulicDatabaseLocation] IS NOT NULL; + +/* +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 +); + +CREATE TEMP TABLE TempFailureMechanisms +( + 'FailureMechanismType' INTEGER NOT NULL, + 'FailureMechanismName' VARCHAR(255) NOT NULL +); + +INSERT INTO TempFailureMechanisms VALUES (1, 'Piping'); +INSERT INTO TempFailureMechanisms VALUES (2, 'Macrostabiliteit binnenwaarts'); +INSERT INTO TempFailureMechanisms VALUES (3, 'Golfklappen op asfaltbekleding'); +INSERT INTO TempFailureMechanisms VALUES (4, 'Grasbekleding erosie buitentalud'); +INSERT INTO TempFailureMechanisms VALUES (5, 'Grasbekleding afschuiven buitentalud'); +INSERT INTO TempFailureMechanisms VALUES (6, 'Grasbekleding erosie kruin en binnentalud'); +INSERT INTO TempFailureMechanisms VALUES (7, 'Stabiliteit steenzetting'); +INSERT INTO TempFailureMechanisms VALUES (8, 'Duinafslag'); +INSERT INTO TempFailureMechanisms VALUES (9, 'Hoogte kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (10, 'Betrouwbaarheid sluiting kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (11, 'Piping bij kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (12, 'Sterkte en stabiliteit puntconstructies'); +INSERT INTO TempFailureMechanisms VALUES (13, 'Macrostabiliteit buitenwaarts'); +INSERT INTO TempFailureMechanisms VALUES (14, 'Microstabiliteit'); +INSERT INTO TempFailureMechanisms VALUES (15, 'Wateroverdruk bij asfaltbekleding'); +INSERT INTO TempFailureMechanisms VALUES (16, 'Grasbekleding afschuiven binnentalud'); +INSERT INTO TempFailureMechanisms VALUES (17, 'Sterkte en stabiliteit langsconstructies'); +INSERT INTO TempFailureMechanisms VALUES (18, 'Technische innovaties'); + +CREATE TEMP TABLE TempAssessmentSectionFailureMechanism +( + [AssessmentSectionId], + [AssessmentSectionName], + [FailureMechanismId], + [FailureMechanismName] +); + +INSERT INTO TempAssessmentSectionFailureMechanism +SELECT + [AssessmentSectionEntityId], + [Name], + [FailureMechanismEntityId], + [FailureMechanismName] +FROM AssessmentSectionEntity +JOIN FailureMechanismEntity USING (AssessmentSectionEntityId) +JOIN TempFailureMechanisms USING (FailureMechanismType); + +CREATE TEMP TABLE TempAssessmentSectionChanges +( + [AssessmentSectionId], + [AssessmentSectionName], + [Order], + [msg] +); + +INSERT INTO TempAssessmentSectionChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + 0, + "Er worden standaardwaarden conform WBI2017 voor de HLCD bestand informatie gebruikt." +FROM HydraulicBoundaryDatabaseEntity +JOIN AssessmentSectionEntity AS ase USING(AssessmentSectionEntityId) +JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[AssessmentSectionId] = ase.AssessmentSectionEntityId; + +INSERT INTO TempAssessmentSectionChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + 1, + "De waarde voor de transparantie van de achtergrondkaart is aangepast naar 0.60." +FROM AssessmentSectionEntity AS ase +JOIN BackgroundDataEntity AS bd USING(AssessmentSectionEntityId) +JOIN [SOURCEPROJECT].BackgroundDataEntity AS source USING(BackgroundDataEntityId) +JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[AssessmentSectionId] = ase.AssessmentSectionEntityId +WHERE source.[Transparency] != bd.Transparency; + +CREATE TEMP TABLE TempChanges +( + [AssessmentSectionId], + [AssessmentSectionName], + [FailureMechanismId], + [FailureMechanismName], + [msg] +); + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[BelowPhreaticLevelMean] || "' voor het gemiddelde van parameter 'Verzadigd gewicht' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[BelowPhreaticLevelMean] IS NOT psl.[BelowPhreaticLevelMean]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[DiameterD70Mean] || "' voor het gemiddelde van parameter 'd70' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[DiameterD70Mean] IS NOT psl.[DiameterD70Mean]; + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De waarde '" || source.[PermeabilityMean] || "' voor het gemiddelde van parameter 'Doorlatendheid' van ondergrondlaag '" || source.[MaterialName] || "' is ongeldig en is veranderd naar NaN." + FROM PipingSoilLayerEntity as psl + JOIN PipingSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN PipingStochasticSoilProfileEntity USING(PipingSoilProfileEntityId) + JOIN StochasticSoilModelEntity USING(StochasticSoilModelEntityId) + JOIN [SOURCEPROJECT].PipingSoilLayerEntity AS source ON psl.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = [FailureMechanismEntityId] + WHERE source.[PermeabilityMean] IS NOT psl.[PermeabilityMean]; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +VALUES ("18.1", "19.1", "Gevolgen van de migratie van versie 18.1 naar versie 19.1:"); + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +WITH RECURSIVE +FailureMechanismMessages +( + [FailureMechanismId], + [FailureMechanismName], + [AssessmentSectionId], + [AssessmentSectionName], + [msg], + [level] +) AS ( +SELECT DISTINCT + [FailureMechanismId], + [FailureMechanismName], + [AssessmentSectionId], + [AssessmentSectionName], + NULL, + 1 + FROM TempChanges + UNION +SELECT + [FailureMechanismId], + NULL, + [AssessmentSectionId], + [AssessmentSectionName], + [msg], + 2 + FROM TempChanges + WHERE TempChanges.[FailureMechanismId] IS [FailureMechanismId] + ORDER BY [FailureMechanismId], [AssessmentSectionId] +), +AssessmentSectionFailureMechanismMessages +( + [AssessmentSectionId], + [AssessmentSectionName], + [IsAssessmentSectionHeader], + [FailureMechanismId], + [FailureMechanismName], + [msg], + [level], + [Order] +) AS ( + SELECT DISTINCT + [AssessmentSectionId], + [AssessmentSectionName], + 1, + NULL, + NULL, + NULL, + 1, + 0 + FROM + ( + SELECT + [AssessmentSectionId], + [AssessmentSectionName] + FROM TempAssessmentSectionChanges + UNION + SELECT + [AssessmentSectionId], + [AssessmentSectionName] + FROM FailureMechanismMessages + WHERE [AssessmentSectionId] IS NOT NULL + ) + + UNION + + SELECT + * + FROM + ( + SELECT + [AssessmentSectionId], + [AssessmentSectionName], + 0 AS [IsAssessmentSectionHeader], + NULL AS [FailureMechanismId], + NULL, + [msg], + 1 AS [level], + [Order] + FROM TempAssessmentSectionChanges + + UNION + + SELECT + [AssessmentSectionId], + NULL, + 0 AS [IsAssessmentSectionHeader], + fmm.[FailureMechanismId] AS [FailureMechanismId], + fmm.[FailureMechanismName], + [msg], + fmm.[level] AS [level], + 1 AS [Order] + FROM FailureMechanismMessages AS fmm + WHERE fmm.[AssessmentSectionId] IS [AssessmentSectionId] + + ) ORDER BY [AssessmentSectionId], [FailureMechanismId], [level], [IsAssessmentSectionHeader] DESC, [Order] +) +SELECT + "18.1", + "19.1", + CASE + WHEN [AssessmentSectionName] IS NOT NULL + THEN + CASE WHEN [IsAssessmentSectionHeader] IS 1 + THEN "* Traject: '" || [AssessmentSectionName] || "'" + ELSE + " + " || [msg] + END + ELSE + CASE + WHEN [FailureMechanismName] IS NOT NULL + THEN " + Toetsspoor: '" || [FailureMechanismName] || "'" + ELSE + " - " || [msg] + END + END +FROM AssessmentSectionFailureMechanismMessages; + +DROP TABLE TempFailureMechanisms; +DROP TABLE TempAssessmentSectionFailureMechanism; +DROP TABLE TempAssessmentSectionChanges; +DROP TABLE TempChanges; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +SELECT "18.1", + "19.1", + "* Geen aanpassingen." + WHERE ( + SELECT COUNT() FROM [LOGDATABASE].MigrationLogEntity + WHERE [FromVersion] = "18.1" + ) IS 1; + +DETACH LOGDATABASE; + +DETACH SOURCEPROJECT; + +PRAGMA foreign_keys = ON; \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_5_17.1.sql =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_5_17.1.sql (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_5_17.1.sql (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,543 @@ +/* +Migration script for migrating Ringtoets databases. +SourceProject version: 5 +TargetProject version: 17.1 +*/ +PRAGMA foreign_keys = OFF; + +ATTACH DATABASE "{0}" AS SOURCEPROJECT; + +INSERT INTO AssessmentSectionEntity SELECT * FROM [SOURCEPROJECT].AssessmentSectionEntity; +INSERT INTO CalculationGroupEntity SELECT * FROM [SOURCEPROJECT].CalculationGroupEntity; +INSERT INTO CharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].CharacteristicPointEntity; +INSERT INTO ClosingStructureEntity SELECT * FROM [SOURCEPROJECT].ClosingStructureEntity; +INSERT INTO ClosingStructuresFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].ClosingStructureFailureMechanismMetaEntity; +INSERT INTO ClosingStructuresCalculationEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresCalculationEntity; +INSERT INTO ClosingStructuresSectionResultEntity SELECT * FROM [SOURCEPROJECT].ClosingStructuresSectionResultEntity; +INSERT INTO DikeProfileEntity ( + [DikeProfileEntityId], + [FailureMechanismEntityId], + [Id], + [Name], + [Orientation], + [BreakWaterType], + [BreakWaterHeight], + [ForeshoreXml], + [DikeGeometryXml], + [DikeHeight], + [X], + [Y], + [X0], + [Order]) +SELECT + [DikeProfileEntityId], + [FailureMechanismEntityId], + CASE WHEN Suffix THEN [Name] || + SUBSTR(QUOTE(ZEROBLOB((SuffixPreLength + 1) / 2)), 3, SuffixPreLength) + || Suffix ELSE [Name] END as [Id], + [Name], + [Orientation], + [BreakWaterType], + [BreakWaterHeight], + [ForeshoreXml], + [DikeGeometryXml], + [DikeHeight], + [X], + [Y], + [X0], + [Order] + FROM (SELECT *, MaxLength - LENGTH(NAME) as SuffixPreLength, (SELECT DP.rowid + FROM [SOURCEPROJECT].DikeProfileEntity + WHERE DP.DikeProfileEntityId > DikeProfileEntityId + AND DP.Name IS Name + AND DP.FailuremechanismEntityId = FailuremechanismEntityId) as Suffix + FROM [SOURCEPROJECT].DikeProfileEntity DP + JOIN (SELECT MAX(LENGTH(Name)) as MaxLength FROM [SOURCEPROJECT].DikeProfileEntity)); +INSERT INTO DuneErosionSectionResultEntity SELECT * FROM [SOURCEPROJECT].DuneErosionSectionResultEntity; +INSERT INTO FailureMechanismEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismEntity; +INSERT INTO FailureMechanismSectionEntity SELECT * FROM [SOURCEPROJECT].FailureMechanismSectionEntity; +INSERT INTO ForeshoreProfileEntity ( + [ForeshoreProfileEntityId], + [FailureMechanismEntityId], + [Id], + [Name], + [Orientation], + [BreakWaterType], + [BreakWaterHeight], + [GeometryXml], + [X], + [Y], + [X0], + [Order]) +SELECT + [ForeshoreProfileEntityId], + [FailureMechanismEntityId], + [Name], + [Name], + [Orientation], + [BreakWaterType], + [BreakWaterHeight], + [GeometryXml], + [X], + [Y], + [X0], + [Order] + FROM [SOURCEPROJECT].ForeshoreProfileEntity; +INSERT INTO GrassCoverErosionInwardsCalculationEntity ( + [GrassCoverErosionInwardsCalculationEntityId], + [CalculationGroupEntityId], + [HydraulicLocationEntityId], + [DikeProfileEntityId], + [Order], + [Name], + [Comments], + [Orientation], + [CriticalFlowRateMean], + [CriticalFlowRateStandardDeviation], + [UseForeshore], + [DikeHeightCalculationType], + [DikeHeight], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + [OvertoppingRateCalculationType]) +SELECT + [GrassCoverErosionInwardsCalculationEntityId], + [CalculationGroupEntityId], + [HydraulicLocationEntityId], + [DikeProfileEntityId], + [Order], + [Name], + [Comments], + [Orientation], + [CriticalFlowRateMean], + [CriticalFlowRateStandardDeviation], + [UseForeshore], + [DikeHeightCalculationType], + [DikeHeight], + [UseBreakWater], + [BreakWaterType], + [BreakWaterHeight], + 1 + FROM [SOURCEPROJECT].GrassCoverErosionInwardsCalculationEntity; +INSERT INTO GrassCoverErosionInwardsFailureMechanismMetaEntity ( + [GrassCoverErosionInwardsFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [N], + [DikeProfileCollectionSourcePath]) +SELECT + [GrassCoverErosionInwardsFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [N], + CASE WHEN COUNT([DikeProfileEntityId]) THEN "" ELSE NULL END + FROM [SOURCEPROJECT].GrassCoverErosionInwardsFailureMechanismMetaEntity + LEFT JOIN [SOURCEPROJECT].DikeProfileEntity USING (FailureMechanismEntityId) + GROUP BY FailureMechanismEntityId; +INSERT INTO GrassCoverErosionInwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionInwardsSectionResultEntity; +INSERT INTO GrassCoverErosionOutwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsFailureMechanismMetaEntity; +INSERT INTO GrassCoverErosionOutwardsHydraulicLocationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsHydraulicLocationEntity; +INSERT INTO GrassCoverErosionOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsSectionResultEntity; +INSERT INTO GrassCoverErosionOutwardsWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].GrassCoverErosionOutwardsWaveConditionsCalculationEntity; +INSERT INTO GrassCoverSlipOffInwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverSlipOffInwardsSectionResultEntity; +INSERT INTO GrassCoverSlipOffOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].GrassCoverSlipOffOutwardsSectionResultEntity; +INSERT INTO HeightStructureEntity SELECT * FROM [SOURCEPROJECT].HeightStructureEntity; +INSERT INTO HeightStructuresCalculationEntity SELECT * FROM [SOURCEPROJECT].HeightStructuresCalculationEntity; +INSERT INTO HeightStructuresFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].HeightStructuresFailureMechanismMetaEntity; +INSERT INTO HeightStructuresSectionResultEntity SELECT * FROM [SOURCEPROJECT].HeightStructuresSectionResultEntity; +INSERT INTO HydraulicLocationEntity SELECT * FROM [SOURCEPROJECT].HydraulicLocationEntity; +INSERT INTO MacrostabilityInwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].MacrostabilityInwardsSectionResultEntity; +INSERT INTO MacrostabilityOutwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].MacrostabilityOutwardsSectionResultEntity; +INSERT INTO MicrostabilitySectionResultEntity SELECT * FROM [SOURCEPROJECT].MicrostabilitySectionResultEntity; +INSERT INTO PipingCalculationEntity SELECT * FROM [SOURCEPROJECT].PipingCalculationEntity; +INSERT INTO PipingFailureMechanismMetaEntity ( + [PipingFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [A], + [WaterVolumetricWeight], + [StochasticSoilModelSourcePath], + [SurfaceLineSourcePath]) +SELECT + [PipingFailureMechanismMetaEntityId], + [FailureMechanismEntityId], + [A], + [WaterVolumetricWeight], + CASE WHEN COUNT([StochasticSoilModelEntityId]) THEN "" ELSE NULL END, + CASE WHEN COUNT([SurfaceLineEntityId]) THEN "" ELSE NULL END + FROM [SOURCEPROJECT].PipingFailureMechanismMetaEntity + LEFT JOIN [SOURCEPROJECT].StochasticSoilModelEntity USING (FailureMechanismEntityId) + LEFT JOIN [SOURCEPROJECT].SurfaceLineEntity USING (FailureMechanismEntityId) + GROUP BY FailureMechanismEntityId; +INSERT INTO PipingSectionResultEntity SELECT * FROM [SOURCEPROJECT].PipingSectionResultEntity; +INSERT INTO PipingStructureSectionResultEntity SELECT * FROM [SOURCEPROJECT].PipingStructureSectionResultEntity; +INSERT INTO ProjectEntity SELECT * FROM [SOURCEPROJECT].ProjectEntity; +INSERT INTO SoilLayerEntity +SELECT + [SoilLayerEntityId], + [SoilProfileEntityId], + [Top], + [IsAquifer], + [Color], + [MaterialName], + [BelowPhreaticLevelMean], + [BelowPhreaticLevelDeviation], + [DiameterD70Mean], + ROUND([DiameterD70Deviation] / [DiameterD70Mean], 6), + [BelowPhreaticLevelShift], + [PermeabilityMean], + ROUND([PermeabilityDeviation] / [PermeabilityMean], 6), + [Order] + FROM [SOURCEPROJECT].SoilLayerEntity; +INSERT INTO SoilProfileEntity SELECT * FROM [SOURCEPROJECT].SoilProfileEntity; +INSERT INTO StabilityPointStructureEntity SELECT * FROM [SOURCEPROJECT].StabilityPointStructureEntity; +INSERT INTO StabilityPointStructuresCalculationEntity SELECT * FROM [SOURCEPROJECT].StabilityPointStructuresCalculationEntity; +INSERT INTO StabilityPointStructuresFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].StabilityPointStructuresFailureMechanismMetaEntity; +INSERT INTO StabilityPointStructuresSectionResultEntity SELECT * FROM [SOURCEPROJECT].StabilityPointStructuresSectionResultEntity; +INSERT INTO StabilityStoneCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverSectionResultEntity; +INSERT INTO StabilityStoneCoverWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsCalculationEntity; +INSERT INTO StochasticSoilModelEntity ( + [StochasticSoilModelEntityId], + [FailureMechanismEntityId], + [Name], + [SegmentName], + [StochasticSoilModelSegmentPointXml], + [Order]) +SELECT + [StochasticSoilModelEntityId], + [FailuremechanismEntityId], + CASE WHEN Suffix THEN [Name] || ' (' || SUBSTR(QUOTE(ZEROBLOB((SuffixPreLength + 1) / 2)), 3, SuffixPreLength) || Suffix || ')' ELSE [Name] END AS [Name], + [SegmentName], + [StochasticSoilModelSegmentPointXml], + [Order] + FROM + ( + SELECT *, MAX(MaxLength - LENGTH(NAME), 0) as SuffixPreLength, + ( + SELECT COUNT() + FROM [SOURCEPROJECT].StochasticSoilModelEntity + WHERE SSM.StochasticSoilModelEntityId > StochasticSoilModelEntityId + AND SSM.Name IS Name + AND SSM.FailuremechanismEntityId = FailuremechanismEntityId + ) AS Suffix + FROM [SOURCEPROJECT].StochasticSoilModelEntity SSM + JOIN ( + SELECT MAX(LENGTH(Name)-3) as MaxLength FROM [SOURCEPROJECT].StochasticSoilModelEntity + ) + ); +INSERT INTO StochasticSoilProfileEntity +SELECT + [StochasticSoilProfileEntityId], + [SoilProfileEntityId], + [StochasticSoilmodelEntityId], + 1, + CASE + WHEN [Probability] BETWEEN 0 AND 1 THEN [Probability] + ELSE 0 + END as [Probability], + [Order] +FROM [SOURCEPROJECT].StochasticSoilProfileEntity; +INSERT INTO StrengthStabilityLengthwiseConstructionSectionResultEntity SELECT * FROM [SOURCEPROJECT].StrengthStabilityLengthwiseConstructionSectionResultEntity; +INSERT INTO SurfaceLineEntity ( + [SurfaceLineEntityId], + [FailureMechanismEntityId], + [Name], + [ReferenceLineIntersectionX], + [ReferenceLineIntersectionY], + [PointsXml], + [Order]) +SELECT + [SurfaceLineEntityId], + [FailuremechanismEntityId], + CASE WHEN Suffix THEN [Name] || ' (' || SUBSTR(QUOTE(ZEROBLOB((SuffixPreLength + 1) / 2)), 3, SuffixPreLength) || Suffix || ')' ELSE [Name] END AS [Name], + [ReferenceLineIntersectionX], + [ReferenceLineIntersectionY], + [PointsXml], + [Order] + FROM + ( + SELECT *, MAX(MaxLength - LENGTH(NAME), 0) as SuffixPreLength, + ( + SELECT COUNT() + FROM [SOURCEPROJECT].SurfaceLineEntity + WHERE SL.SurfaceLineEntityId > SurfaceLineEntityId + AND SL.Name IS Name + AND SL.FailuremechanismEntityId = FailuremechanismEntityId + ) AS Suffix + FROM [SOURCEPROJECT].SurfaceLineEntity SL + JOIN ( + SELECT MAX(LENGTH(Name)-3) as MaxLength FROM [SOURCEPROJECT].SurfaceLineEntity + ) + ); +INSERT INTO TechnicalInnovationSectionResultEntity SELECT * FROM [SOURCEPROJECT].TechnicalInnovationSectionResultEntity; +INSERT INTO VersionEntity ( + [VersionId], + [Version], + [Timestamp], + [FingerPrint]) +SELECT [VersionId], + "17.1", + [Timestamp], + [FingerPrint] + FROM [SOURCEPROJECT].VersionEntity; +INSERT INTO WaterPressureAsphaltCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].WaterPressureAsphaltCoverSectionResultEntity; +INSERT INTO WaveImpactAsphaltCoverSectionResultEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverSectionResultEntity; +INSERT INTO WaveImpactAsphaltCoverWaveConditionsCalculationEntity SELECT * FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsCalculationEntity; + +/* +Outputs are not migrated +*/ +--ClosingStructuresOutputEntity +--GrassCoverErosionInwardsDikeHeightOutputEntity +--GrassCoverErosionInwardsOutputEntity +--GrassCoverErosionOutwardsHydraulicLocationOutputEntity +--GrassCoverErosionOutwardsWaveConditionsOutputEntity +--HeightStructuresOutputEntity +--HydraulicLocationOutputEntity +--PipingCalculationOutputEntity +--PipingSemiProbabilisticOutputEntity +--StabilityPointStructuresOutputEntity +--StabilityStoneCoverWaveConditionsOutputEntity +--WaveImpactAsphaltCoverWaveConditionsOutputEntity + +/* +Insert new data +*/ +INSERT INTO DuneErosionFailureMechanismMetaEntity ( + [FailureMechanismEntityId], + [N]) +SELECT FailureMechanismEntityId, + 2.0 + FROM FailureMechanismEntity WHERE FailureMechanismType = 8; +INSERT INTO BackgroundDataEntity ( + [AssessmentSectionEntityId], + [Name], + [IsVisible], + [Transparency], + [BackgroundDataType]) +SELECT AssessmentSectionEntityId, + "Bing Maps - Satelliet", + 1, + 0.0, + 2 + FROM AssessmentSectionEntity; +INSERT INTO BackgroundDataMetaEntity( + [BackgroundDataEntityId], + [Key], + [Value]) +SELECT BackgroundDataEntityId, + "WellKnownTileSource", + "2" + FROM BackgroundDataEntity; + +/* +Write migration logging +*/ +ATTACH DATABASE "{1}" AS LOGDATABASE; + +CREATE TEMP TABLE TempLogOutputDeleted +( + 'NrDeleted' INTEGER NOT NULL +); + +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].ClosingStructuresOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionInwardsDikeHeightOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionInwardsOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].GrassCoverErosionOutwardsHydraulicLocationOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].HeightStructuresOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].HydraulicLocationOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].PipingCalculationOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].PipingSemiProbabilisticOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].StabilityPointStructuresOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].StabilityStoneCoverWaveConditionsOutputEntity; +INSERT INTO TempLogOutputDeleted SELECT COUNT() FROM [SOURCEPROJECT].WaveImpactAsphaltCoverWaveConditionsOutputEntity; + +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 ("5", + "17.1", + "Gevolgen van de migratie van versie 16.4 naar versie 17.1:"); + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +SELECT "5", + "17.1", + "* Alle berekende resultaten zijn verwijderd." + FROM TempLogOutputDeleted + WHERE [NrDeleted] > 0 + LIMIT 1; + +DROP TABLE TempLogOutputDeleted; + +CREATE TEMP TABLE TempFailureMechanisms +( + 'FailureMechanismType' INTEGER NOT NULL, + 'FailureMechanismName' VARCHAR(255) NOT NULL +); + +INSERT INTO TempFailureMechanisms VALUES (1, 'Piping'); +INSERT INTO TempFailureMechanisms VALUES (2, 'Macrostabiliteit binnenwaarts'); +INSERT INTO TempFailureMechanisms VALUES (3, 'Golfklappen op asfaltbekleding'); +INSERT INTO TempFailureMechanisms VALUES (4, 'Grasbekleding erosie buitentalud'); +INSERT INTO TempFailureMechanisms VALUES (5, 'Grasbekleding afschuiven buitentalud'); +INSERT INTO TempFailureMechanisms VALUES (6, 'Grasbekleding erosie kruin en binnentalud'); +INSERT INTO TempFailureMechanisms VALUES (7, 'Stabiliteit steenzetting'); +INSERT INTO TempFailureMechanisms VALUES (8, 'Duinafslag'); +INSERT INTO TempFailureMechanisms VALUES (9, 'Hoogte kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (10, 'Betrouwbaarheid sluiting kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (11, 'Piping bij kunstwerk'); +INSERT INTO TempFailureMechanisms VALUES (12, 'Sterkte en stabiliteit puntconstructies'); +INSERT INTO TempFailureMechanisms VALUES (13, 'Macrostabiliteit buitenwaarts'); +INSERT INTO TempFailureMechanisms VALUES (14, 'Microstabiliteit'); +INSERT INTO TempFailureMechanisms VALUES (15, 'Wateroverdruk bij asfaltbekleding'); +INSERT INTO TempFailureMechanisms VALUES (16, 'Grasbekleding afschuiven binnentalud'); +INSERT INTO TempFailureMechanisms VALUES (17, 'Sterkte en stabiliteit langsconstructies'); +INSERT INTO TempFailureMechanisms VALUES (18, 'Technische innovaties'); + +CREATE TEMP TABLE TempAssessmentSectionFailureMechanism +( + [AssessmentSectionId], + [AssessmentSectionName], + [FailureMechanismId], + [FailureMechanismName] +); + +INSERT INTO TempAssessmentSectionFailureMechanism +SELECT + [AssessmentSectionEntityId], + [Name], + [FailureMechanismEntityId], + [FailureMechanismName] + FROM AssessmentSectionEntity + JOIN FailureMechanismEntity USING (AssessmentSectionEntityId) + JOIN TempFailureMechanisms USING (FailureMechanismType); + +CREATE TEMP TABLE TempChanges +( + AssessmentSectionId, + AssessmentSectionName, + FailureMechanismId, + FailureMechanismName, + msg +); + +INSERT INTO TempChanges +SELECT + asfm.[AssessmentSectionId], + asfm.[AssessmentSectionName], + asfm.[FailureMechanismId], + asfm.[FailureMechanismName], + "De naam van dijkprofiel '" || source.[Name] || "' is veranderd naar '" || dp.[Id] || "' en wordt ook gebruikt als ID." + FROM DikeProfileEntity AS dp + JOIN [SOURCEPROJECT].DikeProfileEntity AS source ON dp.[rowid] = source.[rowid] + JOIN TempAssessmentSectionFailureMechanism AS asfm ON asfm.[FailureMechanismId] = dp.[FailureMechanismEntityId] + WHERE source.[Name] IS NOT dp.[Id]; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +WITH RECURSIVE +FailureMechanismMessages +( + [FailureMechanismId], + [FailureMechanismName], + [AssessmentSectionId], + [AssessmentSectionName], + [msg], + [level] +) AS ( +SELECT DISTINCT + [FailureMechanismId], + [FailureMechanismName], + [AssessmentSectionId], + [AssessmentSectionName], + NULL, + 1 + FROM TempChanges + UNION +SELECT [FailureMechanismId], + NULL, + [AssessmentSectionId], + [AssessmentSectionName], + [msg], + 2 + FROM TempChanges + WHERE TempChanges.[FailureMechanismId] IS [FailureMechanismId] + ORDER BY 1, 3 +), +AssessmentSectionFailureMechanismMessages +( + [AssessmentSectionId], + [AssessmentSectionName], + [FailureMechanismId], + [FailureMechanismName], + [msg], + [level] +) AS ( +SELECT DISTINCT + [AssessmentSectionId], + [AssessmentSectionName], + NULL, + NULL, + NULL, + 0 + FROM FailureMechanismMessages + WHERE [AssessmentSectionId] IS NOT NULL + UNION +SELECT + [AssessmentSectionId], + NULL, + fmm.[FailureMechanismId], + fmm.[FailureMechanismName], + [msg], + fmm.[level] + FROM FailureMechanismMessages AS fmm + WHERE fmm.[AssessmentSectionId] IS [AssessmentSectionId] + ORDER BY 1, 3, 6 +) +SELECT + "5", + "17.1", + CASE WHEN [AssessmentSectionName] IS NOT NULL + THEN "* Traject: '" || [AssessmentSectionName] || "'" + ELSE + CASE WHEN [FailureMechanismName] IS NOT NULL + THEN " + Toetsspoor: '" || [FailureMechanismName] || "'" + ELSE + " - " || [msg] + END + END +FROM AssessmentSectionFailureMechanismMessages; + +DROP TABLE TempFailureMechanisms; +DROP TABLE TempAssessmentSectionFailureMechanism; +DROP TABLE TempChanges; + +INSERT INTO [LOGDATABASE].MigrationLogEntity ( + [FromVersion], + [ToVersion], + [LogMessage]) +SELECT "5", + "17.1", + "* Geen aanpassingen." + WHERE ( + SELECT COUNT() FROM [LOGDATABASE].MigrationLogEntity + WHERE [FromVersion] = "5" + ) IS 1; + +DETACH LOGDATABASE; + +DETACH SOURCEPROJECT; + +PRAGMA foreign_keys = ON; \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/MigrationLogDatabaseReader.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/MigrationLogDatabaseReader.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/MigrationLogDatabaseReader.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,116 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Data; +using System.Data.SQLite; +using Core.Common.Base.IO; +using Core.Common.IO.Readers; +using Riskeer.Migration.Core.Properties; + +namespace Riskeer.Migration.Core +{ + /// + /// This class reads an SqLite database file and constructs + /// instances from this database. + /// + public class MigrationLogDatabaseReader : SqLiteDatabaseReaderBase + { + /// + /// Creates a new instance of that will use the + /// as its source. + /// + /// The path of the database file to open. + /// Thrown when: + /// + /// The contains invalid characters. + /// No file was found at . + /// Unable to open the database file. + /// The database contains invalid data. + /// + /// + public MigrationLogDatabaseReader(string databaseFilePath) : base(databaseFilePath) {} + + /// + /// Gets the migration log messages from the database. + /// + /// The read log messages. + /// Thrown when trying to get the migration + /// messages failed. + public ReadOnlyCollection GetMigrationLogMessages() + { + string query = "SELECT " + + $"{MigrationLogEntityTableDefinitions.FromVersion}, " + + $"{MigrationLogEntityTableDefinitions.ToVersion}, " + + $"{MigrationLogEntityTableDefinitions.LogMessage} " + + $"FROM {MigrationLogEntityTableDefinitions.TableName}"; + + try + { + using (IDataReader dataReader = CreateDataReader(query)) + { + return ReadMigrationLogMessages(dataReader).AsReadOnly(); + } + } + catch (SystemException e) when (e is ArgumentException || e is SQLiteException) + { + string message = Resources.MigrationLogDatabaseReader_GetMigrationLogMessages_failed; + throw new CriticalFileReadException(message, e); + } + } + + /// + /// Reads and returns the log messages from the . + /// + /// The that is used to read the log + /// messages from. + /// The read log messages. + /// Thrown when the read data is null or empty. + private static List ReadMigrationLogMessages(IDataReader dataReader) + { + var messages = new List(); + + while (dataReader.Read()) + { + string fromVersion = ReadStringOrNull(dataReader, MigrationLogEntityTableDefinitions.FromVersion); + string toVersion = ReadStringOrNull(dataReader, MigrationLogEntityTableDefinitions.ToVersion); + string message = ReadStringOrNull(dataReader, MigrationLogEntityTableDefinitions.LogMessage); + + messages.Add(new MigrationLogMessage(fromVersion, toVersion, message)); + } + + return messages; + } + + private static string ReadStringOrNull(IDataReader dataReader, string columnName) + { + object valueObject = dataReader[columnName]; + if (valueObject.Equals(DBNull.Value)) + { + return null; + } + + return (string) valueObject; + } + } +} \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/MigrationLogEntityTableDefinitions.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/MigrationLogEntityTableDefinitions.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/MigrationLogEntityTableDefinitions.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,50 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets 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. + +namespace Riskeer.Migration.Core +{ + /// + /// Defines the table and column names of the table 'MigrationLogEntity' in the Ringtoets + /// migration log database. + /// + internal static class MigrationLogEntityTableDefinitions + { + /// + /// The name of the table. + /// + internal const string TableName = "MigrationLogEntity"; + + /// + /// The name of the 'migrated from version' column. + /// + internal const string FromVersion = "FromVersion"; + + /// + /// The name of the 'migrated to version' column. + /// + internal const string ToVersion = "ToVersion"; + + /// + /// The name of the 'message during migration' column. + /// + internal const string LogMessage = "LogMessage"; + } +} \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/MigrationLogMessage.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/MigrationLogMessage.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/MigrationLogMessage.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,79 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets 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; + +namespace Riskeer.Migration.Core +{ + /// + /// Class that provides properties for logging messages that occurred during migration. + /// + public class MigrationLogMessage + { + /// + /// Creates a new instance of . + /// + /// The version migrated from. + /// The version migrated to. + /// The message during the migration. + /// Throws when any of the input parameters is + /// null or empty. + public MigrationLogMessage(string fromVersion, string toVersion, string message) + { + if (string.IsNullOrEmpty(fromVersion)) + { + throw new ArgumentException($@"Parameter '{nameof(fromVersion)}' must contain a value", + nameof(fromVersion)); + } + + if (string.IsNullOrEmpty(toVersion)) + { + throw new ArgumentException($@"Parameter '{nameof(toVersion)}' must contain a value", + nameof(toVersion)); + } + + if (string.IsNullOrEmpty(message)) + { + throw new ArgumentException($@"Parameter '{nameof(message)}' must contain a value", + nameof(message)); + } + + FromVersion = fromVersion; + ToVersion = toVersion; + Message = message; + } + + /// + /// Gets the version that was migrated from. + /// + public string FromVersion { get; } + + /// + /// Gets the version that was migrated to. + /// + public string ToVersion { get; } + + /// + /// Gets the message occurred during the migration. + /// + public string Message { get; } + } +} \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/Properties/AssemblyInfo.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/Properties/AssemblyInfo.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/Properties/AssemblyInfo.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,25 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets 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.Reflection; + +[assembly: AssemblyTitle("Riskeer.Migration.Core")] +[assembly: AssemblyProduct("Riskeer.Migration.Core")] \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/Properties/Resources.Designer.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/Properties/Resources.Designer.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/Properties/Resources.Designer.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,129 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets 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. + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Riskeer.Migration.Core.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Riskeer.Migration.Core.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Bronprojectpad moet een geldig bestandspad zijn.. + /// + public static string CommandSupported_Source_Not_Valid_Path { + get { + return ResourceManager.GetString("CommandSupported_Source_Not_Valid_Path", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kritieke fout opgetreden bij het uitlezen van het Ringtoets logbestand van de migratie.. + /// + public static string MigrationLogDatabaseReader_GetMigrationLogMessages_failed { + get { + return ResourceManager.GetString("MigrationLogDatabaseReader_GetMigrationLogMessages_failed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Het aanmaken van het Ringtoets projectbestand met versie '{0}' is mislukt.. + /// + public static string RingtoetsCreateScript_Creating_Version_0_Failed { + get { + return ResourceManager.GetString("RingtoetsCreateScript_Creating_Version_0_Failed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Het bestand '{0}' moet een geldig Ringtoets projectbestand zijn.. + /// + public static string RingtoetsDatabaseSourceFile_Invalid_Ringtoets_File_Path_0 { + get { + return ResourceManager.GetString("RingtoetsDatabaseSourceFile_Invalid_Ringtoets_File_Path_0", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Het migreren van het Ringtoets projectbestand van versie '{0}' naar '{1}' is mislukt.. + /// + public static string RingtoetsUpgradeScript_Upgrading_Version_0_To_Version_1_Failed { + get { + return ResourceManager.GetString("RingtoetsUpgradeScript_Upgrading_Version_0_To_Version_1_Failed", resourceCulture); + } + } + } +} Index: Ringtoets/Migration/src/Riskeer.Migration.Core/Properties/Resources.resx =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/Properties/Resources.resx (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/Properties/Resources.resx (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Het bestand '{0}' moet een geldig Ringtoets projectbestand zijn. + + + Het aanmaken van het Ringtoets projectbestand met versie '{0}' is mislukt. + + + Het migreren van het Ringtoets projectbestand van versie '{0}' naar '{1}' is mislukt. + + + Bronprojectpad moet een geldig bestandspad zijn. + + + Kritieke fout opgetreden bij het uitlezen van het Ringtoets logbestand van de migratie. + + \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsCreateScript.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsCreateScript.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsCreateScript.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,79 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Data.SQLite; +using Migration.Scripts.Data; +using Migration.Scripts.Data.Exceptions; +using Ringtoets.Common.Util; +using Riskeer.Migration.Core.Properties; + +namespace Riskeer.Migration.Core +{ + /// + /// Class that provides methods for creating a for a specific version. + /// + public class RingtoetsCreateScript : CreateScript + { + private readonly string createQuery; + + /// + /// Creates a new instance of the class. + /// + /// The version was designed for. + /// The SQL query that belongs to . + /// Thrown when: + /// + /// is not a valid Ringtoets database version, + /// is empty, null, or consist out of only whitespace characters. + /// + public RingtoetsCreateScript(string version, string query) : base(version) + { + RingtoetsVersionHelper.ValidateVersion(version); + + if (string.IsNullOrWhiteSpace(query)) + { + throw new ArgumentException(@"Query must have a value.", nameof(query)); + } + + createQuery = query; + } + + protected override IVersionedFile GetEmptyVersionedFile(string location) + { + try + { + using (var databaseFile = new RingtoetsDatabaseFile(location)) + { + databaseFile.OpenDatabaseConnection(); + databaseFile.ExecuteQuery(createQuery); + } + + return new RingtoetsVersionedFile(location); + } + catch (SQLiteException exception) + { + throw new CriticalMigrationException(string.Format(Resources.RingtoetsCreateScript_Creating_Version_0_Failed, + GetVersion()), exception); + } + } + } +} \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsDatabaseFile.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsDatabaseFile.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsDatabaseFile.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,111 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Data.SQLite; +using Core.Common.IO; +using Core.Common.Util; + +namespace Riskeer.Migration.Core +{ + /// + /// Class that provides methods for the migration of a Ringtoets database target file. + /// + public class RingtoetsDatabaseFile : IDisposable + { + private readonly string filePath; + private SQLiteConnection connection; + private bool disposed; + + /// + /// Creates a new instance of the class. + /// + /// The path to the target file. + /// Thrown when : + /// + /// is not empty or null, + /// does not consist out of only whitespace characters, + /// does not contain an invalid character, + /// does not end with a directory or path separator (empty file name), + /// is not writable. + /// + /// Creates the file if it does not exist. + public RingtoetsDatabaseFile(string path) + { + IOUtils.CreateFileIfNotExists(path); + filePath = path; + } + + /// + /// Opens the connection to the Ringtoets database file. + /// + public void OpenDatabaseConnection() + { + connection = new SQLiteConnection(SqLiteConnectionStringBuilder.BuildSqLiteConnectionString(filePath, false)); + connection.Open(); + } + + /// + /// Executes the on the Ringtoets database file. + /// + /// Create structure query to execute. + /// Thrown when is null + /// or consist out of only whitespace characters. + /// Thrown when executing failed. + public void ExecuteQuery(string query) + { + if (string.IsNullOrWhiteSpace(query)) + { + throw new ArgumentException(@"Parameter must be a valid database script.", nameof(query)); + } + + using (var command = new SQLiteCommand(connection) + { + CommandText = query + }) + { + command.ExecuteNonQuery(); + } + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + if (disposed) + { + return; + } + + if (disposing) + { + connection?.Dispose(); + connection = null; + } + + disposed = true; + } + } +} \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsDatabaseQueryBuilder.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsDatabaseQueryBuilder.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsDatabaseQueryBuilder.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,41 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets 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. + +namespace Riskeer.Migration.Core +{ + /// + /// Defines queries to execute on a Ringtoets database. + /// + public static class RingtoetsDatabaseQueryBuilder + { + /// + /// Returns the query to get the version from the Ringtoets database. + /// + /// The query to get the version from the Ringtoets database. + public static string GetVersionQuery() + { + return $"SELECT {VersionTableDefinitions.Version} " + + $"FROM {VersionTableDefinitions.TableName} " + + $"Order by {VersionTableDefinitions.Timestamp} DESC " + + "LIMIT 1"; + } + } +} \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsDatabaseSourceFile.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsDatabaseSourceFile.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsDatabaseSourceFile.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,77 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Data; +using Core.Common.Base.IO; +using Core.Common.Base.Storage; +using Core.Common.IO.Readers; +using Riskeer.Migration.Core.Properties; + +namespace Riskeer.Migration.Core +{ + /// + /// Class that provides methods for the migration database source file. + /// + public class RingtoetsDatabaseSourceFile : SqLiteDatabaseReaderBase + { + /// + /// Creates a new instance of the class. + /// + /// The path to the source file. + /// Thrown when: + /// + /// The contains invalid characters. + /// No file could be found at . + /// Unable to open database file. + /// + /// + public RingtoetsDatabaseSourceFile(string databaseFilePath) : base(databaseFilePath) {} + + /// + /// Gets the version of the Ringtoets database source file at location . + /// + /// The version of the file. + /// Thrown when the file is not a valid + /// Ringtoets database source file. + public string GetVersion() + { + string versionQuery = RingtoetsDatabaseQueryBuilder.GetVersionQuery(); + try + { + using (IDataReader dataReader = CreateDataReader(versionQuery, null)) + { + if (!dataReader.Read()) + { + return string.Empty; + } + + return dataReader.Read(VersionTableDefinitions.Version); + } + } + catch (SystemException exception) + { + throw new StorageValidationException(string.Format(Resources.RingtoetsDatabaseSourceFile_Invalid_Ringtoets_File_Path_0, + Path), exception); + } + } + } +} \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsSqLiteDatabaseFileMigrator.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsSqLiteDatabaseFileMigrator.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsSqLiteDatabaseFileMigrator.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,123 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets 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.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text.RegularExpressions; +using Migration.Core.Storage; +using Migration.Scripts.Data; +using Ringtoets.Common.Util; +using Riskeer.Migration.Core.Properties; + +namespace Riskeer.Migration.Core +{ + /// + /// Class that provides methods for migrating a . + /// + public class RingtoetsSqLiteDatabaseFileMigrator : VersionedFileMigrator + { + private readonly Assembly scriptResource; + + /// + /// Creates a new instance of the class. + /// + public RingtoetsSqLiteDatabaseFileMigrator() : base(new RingtoetsVersionComparer()) + { + scriptResource = typeof(Resources).Assembly; + } + + /// + /// Gets or sets the path to the logging database. + /// + public string LogPath { private get; set; } + + private static string GetStringOfStream(Stream stream) + { + using (var reader = new StreamReader(stream)) + { + return reader.ReadToEnd(); + } + } + + #region UpgradeScript + + protected override IEnumerable GetAvailableUpgradeScripts() + { + return scriptResource.GetManifestResourceNames() + .Where(r => r.Contains("Migration_")) + .Select(CreateNewUpgradeScript) + .ToArray(); + } + + private static string GetMigrationScriptFromVersion(string filename) + { + Match match = Regex.Match(filename, @"(Migration_)(.*)(_.*\.sql)$", RegexOptions.IgnoreCase); + return match.Success ? match.Groups[2].Value : null; + } + + private static string GetMigrationScriptToVersion(string filename) + { + Match match = Regex.Match(filename, @"(Migration_.*_)(.*)(\.sql)$", RegexOptions.IgnoreCase); + return match.Success ? match.Groups[2].Value : null; + } + + private UpgradeScript CreateNewUpgradeScript(string resourceName) + { + string fromVersion = GetMigrationScriptFromVersion(resourceName); + string toVersion = GetMigrationScriptToVersion(resourceName); + Stream upgradeStream = scriptResource.GetManifestResourceStream(resourceName); + + string upgradeQuery = GetStringOfStream(upgradeStream); + + return new RingtoetsUpgradeScript(fromVersion, toVersion, upgradeQuery, LogPath); + } + + #endregion + + #region CreateScript + + protected override IEnumerable GetAvailableCreateScripts() + { + return scriptResource.GetManifestResourceNames() + .Where(r => r.Contains("DatabaseStructure")) + .Select(CreateNewCreateScript) + .ToArray(); + } + + private static string GetCreateScriptVersion(string filename) + { + Match match = Regex.Match(filename, @"(DatabaseStructure)(.*)(\.sql)$", RegexOptions.IgnoreCase); + return match.Success ? match.Groups[2].Value : null; + } + + private RingtoetsCreateScript CreateNewCreateScript(string resourceName) + { + string version = GetCreateScriptVersion(resourceName); + Stream createStream = scriptResource.GetManifestResourceStream(resourceName); + string query = GetStringOfStream(createStream); + return new RingtoetsCreateScript(version, query); + } + + #endregion + } +} \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsUpgradeScript.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsUpgradeScript.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsUpgradeScript.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,85 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Data.SQLite; +using Migration.Scripts.Data; +using Migration.Scripts.Data.Exceptions; +using Ringtoets.Common.Util; +using Riskeer.Migration.Core.Properties; + +namespace Riskeer.Migration.Core +{ + /// + /// Class that provides methods for the upgrading a for a specific version. + /// + public class RingtoetsUpgradeScript : UpgradeScript + { + private readonly string upgradeQuery; + private readonly string logDatabaseLocation; + + /// + /// Creates a new instance of the class. + /// + /// The source version was designed for. + /// The target version was designed for. + /// The SQL query to upgrade from to . + /// The location to the log database. + /// Thrown when: + /// + /// is not a valid Ringtoets database version, + /// is not a valid Ringtoets database version, + /// is empty, null, or consists out of only whitespace characters. + /// + public RingtoetsUpgradeScript(string fromVersion, string toVersion, string query, string logDatabaseLocation) + : base(fromVersion, toVersion) + { + if (string.IsNullOrWhiteSpace(query)) + { + throw new ArgumentException(@"Query must have a value.", nameof(query)); + } + + RingtoetsVersionHelper.ValidateVersion(fromVersion); + RingtoetsVersionHelper.ValidateVersion(toVersion); + + upgradeQuery = query; + this.logDatabaseLocation = logDatabaseLocation; + } + + protected override void PerformUpgrade(string sourceLocation, string targetLocation) + { + try + { + string query = string.Format(upgradeQuery, sourceLocation, logDatabaseLocation); + using (var databaseFile = new RingtoetsDatabaseFile(targetLocation)) + { + databaseFile.OpenDatabaseConnection(); + databaseFile.ExecuteQuery(query); + } + } + catch (SQLiteException exception) + { + throw new CriticalMigrationException(string.Format(Resources.RingtoetsUpgradeScript_Upgrading_Version_0_To_Version_1_Failed, + FromVersion(), ToVersion()), exception); + } + } + } +} \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsVersionedFile.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsVersionedFile.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/RingtoetsVersionedFile.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,61 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using Core.Common.Util; +using Migration.Scripts.Data; + +namespace Riskeer.Migration.Core +{ + /// + /// Class that defines a Ringtoets database file that has a version. + /// + public class RingtoetsVersionedFile : IVersionedFile + { + /// + /// Creates a new instance of the class. + /// + /// Path to the Ringtoets versioned file. + /// Thrown when is invalid. + /// A valid path: + /// + /// is not empty or null, + /// does not consist out of only whitespace characters, + /// does not contain an invalid character, + /// does not end with a directory or path separator (empty file name). + /// + public RingtoetsVersionedFile(string path) + { + IOUtils.ValidateFilePath(path); + Location = path; + } + + public string Location { get; } + + public string GetVersion() + { + using (var sourceFile = new RingtoetsDatabaseSourceFile(Location)) + { + return sourceFile.GetVersion(); + } + } + } +} \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/Riskeer.Migration.Core.csproj =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/Riskeer.Migration.Core.csproj (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/Riskeer.Migration.Core.csproj (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,119 @@ + + + + {FAC55B92-E259-43D6-B9A1-5BDA6C834359} + Riskeer.Migration.Core + Riskeer.Migration.Core + + + + + + + + ..\..\..\..\packages\System.Data.SQLite.Core.1.0.106.0\lib\net40\System.Data.SQLite.dll + True + + + + + + + + + True + True + Resources.resx + + + + + + + + + + + + + Copying.licenseheader + + + + + + {3BBFD65B-B277-4E50-AE6D-BD24C3434609} + Core.Common.Base + False + + + {e344867e-9ac9-44c8-88a5-8185681679a9} + Core.Common.IO + False + + + {f49bd8b2-332a-4c91-a196-8cce0a2c7d98} + Core.Common.Util + False + + + {EFD7E662-5B69-4B71-A448-565B64E9C033} + Migration.Core.Storage + False + + + {D08DB9E2-6861-44C8-A725-71A70274CC77} + Migration.Scripts.Data + False + + + {6A074D65-A81C-4C1C-8E24-F36C916E4ED7} + Ringtoets.Common.Util + False + + + + + PublicResXFileCodeGenerator + Resources.Designer.cs + Designer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/VersionTableDefinitions.cs =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/VersionTableDefinitions.cs (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/VersionTableDefinitions.cs (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,44 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets 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. + +namespace Riskeer.Migration.Core +{ + /// + /// Defines the table and column names of the table 'VersionEntity' in the Ringtoets database. + /// + public static class VersionTableDefinitions + { + /// + /// Gets the name of the table. + /// + public const string TableName = "VersionEntity"; + + /// + /// Gets the name of the version column. + /// + public const string Version = "Version"; + + /// + /// Gets the name of the timestamp column. + /// + public const string Timestamp = "Timestamp"; + } +} \ No newline at end of file Index: Ringtoets/Migration/src/Riskeer.Migration.Core/packages.config =================================================================== diff -u --- Ringtoets/Migration/src/Riskeer.Migration.Core/packages.config (revision 0) +++ Ringtoets/Migration/src/Riskeer.Migration.Core/packages.config (revision eb0ce91f3f0fb3c543ef2b1875e5ad9e6356fa08) @@ -0,0 +1,25 @@ + + + + \ No newline at end of file