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.