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
This commit is contained in:
parent
33696436a0
commit
d4ba46a329
3 changed files with 37 additions and 3 deletions
29
data/dbrepo/versions/004_Add_organization_table.py
Normal file
29
data/dbrepo/versions/004_Add_organization_table.py
Normal file
|
@ -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…
Add table
Add a link
Reference in a new issue