SchemaValidator
- Namespace:
PPDS.Migration.Import - Assembly:
PPDS.Migration - Kind: Class
- Implements:
ISchemaValidator
Summary
Validates schema compatibility between exported data and target environment.
Members
Constructors
SchemaValidator(IDataverseConnectionPool connectionPool, ILogger<SchemaValidator> logger)
SchemaValidator(IDataverseConnectionPool connectionPool, ILogger<SchemaValidator> logger)
Initializes a new instance of the PPDS.Migration.Import.SchemaValidator class.
-
Param
connectionPool: The connection pool. -
Param
logger: Optional logger.
Methods
DetectMissingColumns
SchemaMismatchResult DetectMissingColumns(MigrationData data, FieldMetadataCollection targetFieldMetadata)
Detects columns in exported data that don't exist in target environment.
-
Param
data: The migration data containing exported records. -
Param
targetFieldMetadata: The target environment field metadata. -
Returns: Result containing missing columns by entity.
LoadTargetFieldMetadataAsync
Task<FieldMetadataCollection> LoadTargetFieldMetadataAsync(IEnumerable<string> entityNames, IProgressReporter progress, CancellationToken cancellationToken)
Loads field validity metadata from the target environment for all entities.
-
Param
entityNames: The entity names to load metadata for. -
Param
progress: Optional progress reporter. -
Param
cancellationToken: Cancellation token. -
Returns: Collection of field metadata indexed by entity name.
ShouldIncludeField
bool ShouldIncludeField(string fieldName, ImportMode mode, IReadOnlyDictionary<string, FieldValidity> fieldMetadata, string reason)
Determines if a field should be included in the import based on operation mode and metadata.
-
Param
fieldName: The field name to check. -
Param
mode: The import mode. -
Param
fieldMetadata: Target environment field metadata for the entity. -
Param
reason: Output: reason field was excluded, if any. -
Returns: True if field should be included, false otherwise.