add a organization table (addresses #40)
* development.ini: - change testing database to PostgreSQL - set required database version to 4 * data/dbrepo/versions/004_Add_organization_table.py: - create/drop organization table - add organizationid foreign key reference to client table * gnuviechadmin/backend/tables.py: - add reflected organization_tablemaster
parent
33696436a0
commit
d4ba46a329
@ -0,0 +1,29 @@
|
||||
from sqlalchemy import MetaData, Table, Column, Integer, Unicode, ForeignKey
|
||||
from migrate import migrate_engine
|
||||
from migrate.changeset.schema import create_column
|
||||
from gnuviechadmin.config import config
|
||||
|
||||
dbschema = None
|
||||
if 'database.schema' in config:
|
||||
dbschema = config['database.schema']
|
||||
|
||||
meta = MetaData(migrate_engine)
|
||||
client = Table('client', meta, schema = dbschema, autoload = True)
|
||||
organization = Table(
|
||||
'organization', meta,
|
||||
Column('organizationid', Integer, primary_key = True),
|
||||
Column('name', Unicode(200), nullable = False, unique = True),
|
||||
schema = dbschema,
|
||||
useexisting = True)
|
||||
|
||||
def upgrade():
|
||||
organization.create()
|
||||
col = Column('organizationid', Integer,
|
||||
ForeignKey(organization.c.organizationid),
|
||||
nullable = True)
|
||||
create_column(col, client)
|
||||
|
||||
|
||||
def downgrade():
|
||||
client.c.organizationid.drop()
|
||||
organization.drop()
|
Loading…
Reference in new issue