dlt.destinations.impl.fabric.factory
Custom Fabric Warehouse destination for dlt.
This module provides a custom destination class for Microsoft Fabric Warehouse that extends Synapse capabilities with Fabric-specific requirements:
- Uses 'fabric' sqlglot dialect
- Uses varchar instead of nvarchar (Fabric doesn't support nvarchar)
- Supports COPY INTO for efficient data loading from staging
FabricTypeMapper Objects
class FabricTypeMapper(SynapseTypeMapper)
Custom type mapper for Fabric Warehouse - replaces nvarchar with varchar and datetimeoffset with datetime2
to_db_datetime_type
def to_db_datetime_type(column: TColumnSchema,
table: PreparedTableSchema = None) -> str
Override to limit precision to 6 and use datetime2 instead of datetimeoffset
to_destination_type
def to_destination_type(column: TColumnSchema,
table: PreparedTableSchema) -> str
Override to use varchar instead of nvarchar and datetime2 instead of datetimeoffset
fabric Objects
class fabric(synapse)
Fabric Warehouse destination that extends Synapse with Fabric-specific dialect and type mappings
spec
type: ignore[assignment]
adjust_capabilities
@classmethod
def adjust_capabilities(
cls, caps: DestinationCapabilitiesContext,
config: FabricClientConfiguration,
naming: Optional[NamingConvention]) -> DestinationCapabilitiesContext
Adjust capabilities based on collation case sensitivity