Augmentation Objects

These objects are defined in the aug_map argument to the apply method of AugmentDatabase. They tie the desired augmentations, e.g., audit columns, to the tables to be affected, and the schemas owning the tables.

Augmentation Schema

class pyrseas.augment.schema.AugSchema(**attrs)

A database schema definition, i.e., a named collection of tables, views, triggers and other schema objects.

AugSchema.apply(augdb)

Augment objects in a schema.

Parameters:augdb – the augmenter dictionaries
class pyrseas.augment.schema.AugSchemaDict

The collection of schemas in a database

AugSchemaDict.from_map(augmap, augdb)

Initialize the dictionary of schemas by converting the augmenter map

Parameters:
  • augmap – the input YAML map defining the augmentations
  • augdb – collection of dictionaries defining the augmentations

Starts the recursive analysis of the input map and construction of the internal collection of dictionaries describing the database objects.

Connect schemas to be augmented to actual database schemas

Parameters:schemas – schemas in current database

Connect tables and functions to their respective schemas

Parameters:dbtables – dictionary of tables

Fills in the tables dictionary for each schema by traversing the dbtables dictionary.

Augmentation Table

class pyrseas.augment.table.AugDbClass(**attrs)

A table, sequence or view

class pyrseas.augment.table.AugTable(**attrs)

A database table definition

AugTable.apply(augdb)

Augment tables in a schema.

Parameters:augdb – the augmenter dictionaries
class pyrseas.augment.table.AugClassDict

The collection of tables and similar objects in a database

AugClassDict.from_map(schema, inobjs, augdb)

Initialize the dictionary of tables by converting the input map

Parameters:
  • schema – schema owning the tables
  • inobjs – YAML map defining the schema objects
  • augdb – collection of dictionaries defining the augmentations

Connect tables to be augmented to actual database tables

Parameters:tables – tables in current schema