You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Options for performing integrity checks on an iModel.
137
+
* @beta
138
+
*/
139
+
exportinterfaceIntegrityCheckOptions{
140
+
/** If true, perform a quick integrity check that only reports whether each check passed or failed, without detailed results. */
141
+
quickCheck?: boolean;
142
+
/** Options for performing specific integrity checks with detailed results. */
143
+
specificChecks?: {
144
+
/** If true, checks if all the required columns exist in data tables. Issues are returned as a list of those tables/columns. */
145
+
checkDataColumns?: boolean;
146
+
/** If true, checks if the profile table, indexes, and triggers are present. Does not check be_* tables. Issues are returned as a list of tables/indexes/triggers which were not found or have different DDL. */
147
+
checkECProfile?: boolean;
148
+
/** If true, checks if RelClassId of a Navigation property is a valid ECClassId. It does not check the value to match the relationship class. */
149
+
checkNavigationClassIds?: boolean;
150
+
/** If true, checks if Id of a Navigation property matches a valid row primary class. */
151
+
checkNavigationIds?: boolean;
152
+
/** If true, checks if SourceECClassId or TargetECClassId of a link table matches a valid ECClassId. */
153
+
checkLinktableForeignKeyClassIds?: boolean;
154
+
/** If true, checks if SourceECInstanceId or TargetECInstanceId of a link table matches a valid row in primary class. */
155
+
checkLinktableForeignKeyIds?: boolean;
156
+
/** If true, checks persisted ECClassId in all data tables and makes sure they are valid. */
157
+
checkClassIds?: boolean;
158
+
/** If true, checks if all the required data tables and indexes exist for mapped classes. Issues are returned as a list of tables/columns which were not found or have different DDL. */
159
+
checkDataSchema?: boolean;
160
+
/** If true, checks if all schemas can be loaded into memory. */
161
+
checkSchemaLoad?: boolean;
162
+
/** If true, checks if all child rows have a corresponding parent row. */
* Types of integrity checks that can be performed are:
651
+
*
652
+
* Default Check:
653
+
* - Quick Check: Runs all integrity checks below and returns whether each check passed or failed, without detailed results.
654
+
*
655
+
* Specific Checks:
656
+
* - Data Columns Check: Checks if all the required columns exist in data tables. Issues are returned as a list of those tables/columns.
657
+
* - EC Profile Check: Checks if the profile table, indexes, and triggers are present. Does not check be_* tables. Issues are returned as a list of tables/indexes/triggers which were not found or have different DDL.
658
+
* - Navigation Class Ids Check: Checks if RelClassId of a Navigation property is a valid ECClassId. It does not check the value to match the relationship class.
659
+
* - Navigation Ids Check: Checks if Id of a Navigation property matches a valid row primary class.
660
+
* - Linktable Foreign Key Class Ids Check: Checks if SourceECClassId or TargetECClassId of a link table matches a valid ECClassId.
661
+
* - Linktable Foreign Key Ids Check: Checks if SourceECInstanceId or TargetECInstanceId of a link table matches a valid row in primary class.
662
+
* - Class Ids Check: Checks persisted ECClassId in all data tables and makes sure they are valid.
663
+
* - Data Schema Check: Checks if all the required data tables and indexes exist for mapped classes. Issues are returned as a list of tables/columns which were not found or have different DDL.
664
+
* - Schema Load Check: Checks if all schemas can be loaded into memory.
665
+
* - Missing Child Rows Check: Checks if all child rows have a corresponding parent row.
666
+
*
667
+
* @param options Options specifying which integrity checks to perform. If no options are provided or all options are false, a quick check will be performed by default.
668
+
* @returns An array of integrity check results.
669
+
* @throws [[IModelError]] if the iModel is not open.
0 commit comments