ApdbSqlSchema¶
- class lsst.dax.apdb.ApdbSqlSchema(engine: Engine, dia_object_index: str, htm_index_column: str, schema_file: str, schema_name: str = 'ApdbSchema', prefix: str = '', namespace: str | None = None, use_insert_id: bool = False)¶
Bases:
ApdbSchema
Class for management of APDB schema.
- Parameters:
- engine
sqlalchemy.engine.Engine
SQLAlchemy engine instance
- dia_object_index
str
Indexing mode for DiaObject table, see
ApdbSqlConfig.dia_object_index
for details.- htm_index_column
str
Name of a HTM index column for DiaObject and DiaSource tables.
- schema_file
str
Name of the YAML schema file.
- schema_name
str
, optional Name of the schema in YAML files.
- prefix
str
, optional Prefix to add to all schema elements.
- namespace
str
, optional Namespace (or schema name) to use for all APDB tables.
- use_insert_id
bool
, optional
- engine
- Attributes:
- objects
sqlalchemy.Table
DiaObject table instance
- objects_last
sqlalchemy.Table
DiaObjectLast table instance, may be None
- sources
sqlalchemy.Table
DiaSource table instance
- forcedSources
sqlalchemy.Table
DiaForcedSource table instance
has_insert_id
bool
Whether insert ID tables are to be used (
bool
).
- objects
Attributes Summary
Whether insert ID tables are to be used (
bool
).Tables that need pixelId column for spatial indexing.
Methods Summary
column_dtype
(felis_type)Return Pandas data type for a given Felis column type.
get_apdb_columns
(table_enum)Return list of columns defined for a table in APDB schema.
get_table
(table_enum)Return SQLAlchemy table instance for a specified table type/enum.
makeSchema
([drop])Create or re-create all tables.
Attributes Documentation
- pixel_id_tables = (<ApdbTables.DiaObject: 'DiaObject'>, <ApdbTables.DiaObjectLast: 'DiaObjectLast'>, <ApdbTables.DiaSource: 'DiaSource'>)¶
Tables that need pixelId column for spatial indexing.
Methods Documentation
- column_dtype(felis_type: Type[FelisType]) type | str ¶
Return Pandas data type for a given Felis column type.
- get_apdb_columns(table_enum: ApdbTables | ExtraTables) list[sqlalchemy.sql.schema.Column] ¶
Return list of columns defined for a table in APDB schema.
Returned list excludes columns that are implementation-specific, e.g.
pixelId
column is not include in the returned list.- Parameters:
- table_enum
ApdbTables
orExtraTables
Type of table.
- table_enum
- Returns:
- table
list
[sqlalchemy.schema.Column
] Table instance.
- table
- Raises:
- ValueError
Raised if
table_enum
is not valid for this database.
- get_table(table_enum: ApdbTables | ExtraTables) Table ¶
Return SQLAlchemy table instance for a specified table type/enum.
- Parameters:
- table_enum
ApdbTables
orExtraTables
Type of table to return.
- table_enum
- Returns:
- table
sqlalchemy.schema.Table
Table instance.
- table
- Raises:
- ValueError
Raised if
table_enum
is not valid for this database.