class View(DbObject): """ A class that represents a database view. """ SubElements = odict(('columns', ViewColumn))
def __init__(self): if hasattr(self, 'SubElements'): for name, type in self.SubElements.items(): self[name] = odict()
class ForeignKey(DbObject): """ A class that represents a a foreign key referential constraint. """ SubElements = odict(('columns', ForeignKeyColumn))
class Index(DbObject): """ A class that represents a index on a table. """ SubElements = odict(('columns', IndexColumn))
class Table(DbObject): """ A class that represents a database table. """ SubElements = odict( ('columns', TableColumn), ('primary_keys', PrimaryKey), ('unique_keys', UniqueKey), ('constraints', CheckConstraint) )
class UniqueKey(DbObject): """ A class that represents a unique key for a table. """ SubElements = odict(('columns', UniqueKeyColumn))
class PrimaryKey(DbObject): """ A class that represents a primary key for a table. """ SubElements = odict(('columns', PrimaryKeyColumn))