graph LR
SQLAlchemy_Core_Interface["SQLAlchemy Core Interface"]
Column_Definition_Orchestrator["Column Definition Orchestrator"]
Column_Type_Resolver["Column Type Resolver"]
Constraint_Resolver["Constraint Resolver"]
Relationship_Target_Resolver["Relationship Target Resolver"]
Column_Definition_Orchestrator -- "delegates to" --> Column_Type_Resolver
Column_Definition_Orchestrator -- "delegates to" --> Constraint_Resolver
Column_Definition_Orchestrator -- "relies on" --> Relationship_Target_Resolver
Column_Type_Resolver -- "uses" --> SQLAlchemy_Core_Interface
Constraint_Resolver -- "uses" --> SQLAlchemy_Core_Interface
Constraint_Resolver -- "uses information from" --> Relationship_Target_Resolver
Relationship_Target_Resolver -- "provides information to" --> Constraint_Resolver
The SQLAlchemy Core Integration subsystem acts as the crucial bridge between the ORM's high-level model definitions and SQLAlchemy Core's low-level SQL expression capabilities. It is responsible for translating ORM field definitions into concrete SQLAlchemy constructs, managing column types, constraints, and relationships.
This component serves as the direct bridge to SQLAlchemy Core, providing the fundamental, low-level SQLAlchemy constructs (e.g., Column, String, Integer, ForeignKeyConstraint, PrimaryKeyConstraint, UniqueConstraint). It acts as a factory or registry, abstracting the direct instantiation of these SQLAlchemy objects from other ORM components.
Related Classes/Methods:
The primary entry point for converting an ORM field definition into a complete SQLAlchemy Column object. It orchestrates the resolution of column types, constraints, and relationship targets by delegating to specialized resolvers.
Related Classes/Methods:
Determines and returns the appropriate SQLAlchemy data type (e.g., String, Integer, DateTime) for a given ORM field based on its definition.
Related Classes/Methods:
Identifies and constructs SQLAlchemy-specific constraints (e.g., PrimaryKeyConstraint, UniqueConstraint, ForeignKeyConstraint, nullable) that apply to an ORM field.
Related Classes/Methods:
Resolves the target of a relationship or a foreign key, crucial for establishing correct SQLAlchemy ForeignKey constructs. This involves identifying the referenced table and column.
Related Classes/Methods: