lsst.dax.apdb  20.0.0-1-g253301a+4
Public Member Functions | Public Attributes | List of all members
lsst.dax.apdb.apdbSchema.ApdbSchema Class Reference
Inheritance diagram for lsst.dax.apdb.apdbSchema.ApdbSchema:

Public Member Functions

def __init__ (self, engine, dia_object_index, dia_object_nightly, schema_file, extra_schema_file=None, column_map=None, afw_schemas=None, prefix="")
 
def makeSchema (self, drop=False, mysql_engine='InnoDB', oracle_tablespace=None, oracle_iot=False)
 
def getAfwSchema (self, table_name, columns=None)
 
def getAfwColumns (self, table_name)
 
def getColumnMap (self, table_name)
 

Public Attributes

 objects
 
 objects_nightly
 
 objects_last
 
 sources
 
 forcedSources
 
 visits
 

Detailed Description

Class for management of APDB schema.

Attributes
----------
objects : `sqlalchemy.Table`
    DiaObject table instance
objects_nightly : `sqlalchemy.Table`
    DiaObjectNightly table instance, may be None
objects_last : `sqlalchemy.Table`
    DiaObjectLast table instance, may be None
sources : `sqlalchemy.Table`
    DiaSource table instance
forcedSources : `sqlalchemy.Table`
    DiaForcedSource table instance
visits : `sqlalchemy.Table`
    ApdbProtoVisits table instance

Parameters
----------
engine : `sqlalchemy.engine.Engine`
    SQLAlchemy engine instance
dia_object_index : `str`
    Indexing mode for DiaObject table, see `ApdbConfig.dia_object_index`
    for details.
dia_object_nightly : `bool`
    If `True` then create per-night DiaObject table as well.
schema_file : `str`
    Name of the YAML schema file.
extra_schema_file : `str`, optional
    Name of the YAML schema file with extra column definitions.
column_map : `str`, optional
    Name of the YAML file with column mappings.
afw_schemas : `dict`, 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).
prefix : `str`, optional
    Prefix to add to all scheam elements.

Member Function Documentation

◆ getAfwColumns()

def lsst.dax.apdb.apdbSchema.ApdbSchema.getAfwColumns (   self,
  table_name 
)
Returns mapping of afw column names to Column definitions.

Parameters
----------
table_name : `str`
    One of known APDB table names.

Returns
-------
column_map : `dict`
    Mapping of afw column names to `ColumnDef` instances.

◆ getAfwSchema()

def lsst.dax.apdb.apdbSchema.ApdbSchema.getAfwSchema (   self,
  table_name,
  columns = None 
)
Return afw schema for given table.

Parameters
----------
table_name : `str`
    One of known APDB table names.
columns : `list` of `str`, optional
    Include only given table columns in schema, by default all columns
    are included.

Returns
-------
schema : `lsst.afw.table.Schema`
column_map : `dict`
    Mapping of the table/result column names into schema key.

◆ getColumnMap()

def lsst.dax.apdb.apdbSchema.ApdbSchema.getColumnMap (   self,
  table_name 
)
Returns mapping of column names to Column definitions.

Parameters
----------
table_name : `str`
    One of known APDB table names.

Returns
-------
column_map : `dict`
    Mapping of column names to `ColumnDef` instances.

◆ makeSchema()

def lsst.dax.apdb.apdbSchema.ApdbSchema.makeSchema (   self,
  drop = False,
  mysql_engine = 'InnoDB',
  oracle_tablespace = None,
  oracle_iot = False 
)
Create or re-create all tables.

Parameters
----------
drop : `bool`, optional
    If True then drop tables before creating new ones.
mysql_engine : `str`, optional
    MySQL engine type to use for new tables.
oracle_tablespace : `str`, optional
    Name of Oracle tablespace, only useful with oracle
oracle_iot : `bool`, optional
    Make Index-organized DiaObjectLast table.

The documentation for this class was generated from the following file: