ApdbSchema

class lsst.dax.apdb.ApdbSchema(engine, dia_object_index, dia_object_nightly, schema_file, extra_schema_file=None, column_map=None, afw_schemas=None, prefix='')

Bases: object

Class for management of APDB schema.

Parameters
enginesqlalchemy.engine.Engine

SQLAlchemy engine instance

dia_object_indexstr

Indexing mode for DiaObject table, see ApdbConfig.dia_object_index for details.

dia_object_nightlybool

If True then create per-night DiaObject table as well.

schema_filestr

Name of the YAML schema file.

extra_schema_filestr, optional

Name of the YAML schema file with extra column definitions.

column_mapstr, optional

Name of the YAML file with column mappings.

afw_schemasdict, optional

Dictionary with table name for a key and afw.table.Schema for a value. Columns in schema will be added to standard APDB schema (only if standard schema does not have matching column).

prefixstr, optional

Prefix to add to all scheam elements.

Attributes
objectssqlalchemy.Table

DiaObject table instance

objects_nightlysqlalchemy.Table

DiaObjectNightly table instance, may be None

objects_lastsqlalchemy.Table

DiaObjectLast table instance, may be None

sourcessqlalchemy.Table

DiaSource table instance

forcedSourcessqlalchemy.Table

DiaForcedSource table instance

visitssqlalchemy.Table

ApdbProtoVisits table instance

Methods Summary

getAfwColumns(table_name)

Returns mapping of afw column names to Column definitions.

getAfwSchema(table_name[, columns])

Return afw schema for given table.

getColumnMap(table_name)

Returns mapping of column names to Column definitions.

makeSchema([drop, mysql_engine, …])

Create or re-create all tables.

Methods Documentation

getAfwColumns(table_name)

Returns mapping of afw column names to Column definitions.

Parameters
table_namestr

One of known APDB table names.

Returns
column_mapdict

Mapping of afw column names to ColumnDef instances.

getAfwSchema(table_name, columns=None)

Return afw schema for given table.

Parameters
table_namestr

One of known APDB table names.

columnslist of str, optional

Include only given table columns in schema, by default all columns are included.

Returns
schemalsst.afw.table.Schema
column_mapdict

Mapping of the table/result column names into schema key.

getColumnMap(table_name)

Returns mapping of column names to Column definitions.

Parameters
table_namestr

One of known APDB table names.

Returns
column_mapdict

Mapping of column names to ColumnDef instances.

makeSchema(drop=False, mysql_engine='InnoDB', oracle_tablespace=None, oracle_iot=False)

Create or re-create all tables.

Parameters
dropbool, optional

If True then drop tables before creating new ones.

mysql_enginestr, optional

MySQL engine type to use for new tables.

oracle_tablespacestr, optional

Name of Oracle tablespace, only useful with oracle

oracle_iotbool, optional

Make Index-organized DiaObjectLast table.