[docs]classBaseTableInfo(BaseInfo):columns:list[BaseColumnInfo]=Field(default_factory=list)@cached_propertydefcolumns_mapping(self)->dict[str,BaseColumnInfo]:""" Returns a mapping of column names to BaseColumnInfo objects for easy access. """return{column.name:columnforcolumninself.columns}
[docs]classBaseSchemaInfo(BaseInfo):object_type:ObjectTypeEnum=Field(default=ObjectTypeEnum.SCHEMA)tables:list[BaseTableInfo]=Field(default_factory=list)@cached_propertydeftables_mapping(self)->dict[str,BaseTableInfo]:""" Returns a mapping of table names to BaseTableInfo objects for easy access. """return{table.name:tablefortableinself.tables}
[docs]classBaseDatabaseInfo(BaseInfo):object_type:ObjectTypeEnum=Field(default=ObjectTypeEnum.DATABASE)db_type:DbTypeEnum=Field()schemas:list[BaseSchemaInfo]=Field(default_factory=list)@cached_propertydefschemas_mapping(self)->dict[str,BaseSchemaInfo]:""" Returns a mapping of schema names to BaseSchemaInfo objects for easy access. """return{schema.name:schemaforschemainself.schemas}