1
0
Fork 0
gnuviechadmin-historic/data/dbrepo/versions/004_Add_organization_table.py
Jan Dittberner d4ba46a329 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_table
2009-08-02 21:13:08 +02:00

30 lines
903 B
Python

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()