########################################################################## # # pgAdmin 4 - PostgreSQL Tools # # Copyright (C) 2013 - 2017, The pgAdmin Development Team # This software is released under the PostgreSQL Licence # ########################################################################## """Initial database creation Revision ID: fdc58d9bd449 Revises: Create Date: 2017-03-13 11:15:16.401139 """ from alembic import op import sqlalchemy as sa from pgadmin.model import db from pgadmin.setup import get_version from pgadmin.setup import user_info # revision identifiers, used by Alembic. revision = 'fdc58d9bd449' down_revision = None branch_labels = None depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### if get_version() != -1: return op.create_table('version', sa.Column('name', sa.String(length=32), nullable=False), sa.Column('value', sa.Integer(), nullable=False), sa.PrimaryKeyConstraint('name') ) op.create_table('user', sa.Column('id', sa.Integer(), nullable=False), sa.Column('email', sa.String(length=256), nullable=False), sa.Column('password', sa.String(length=256), nullable=True), sa.Column('active', sa.Boolean(), nullable=False), sa.Column('confirmed_at', sa.DateTime(), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('email') ) op.create_table('role', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=128), nullable=False), sa.Column('description', sa.String(length=256), nullable=False), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name') ) op.create_table('setting', sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('setting', sa.String(length=256), nullable=False), sa.Column('value', sa.String(length=1024), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), sa.PrimaryKeyConstraint('user_id', 'setting') ) op.create_table('roles_users', sa.Column('user_id', sa.Integer(), nullable=True), sa.Column('role_id', sa.Integer(), nullable=True), sa.ForeignKeyConstraint(['role_id'], ['role.id'], ), sa.ForeignKeyConstraint(['user_id'], ['user.id'], ) ) op.create_table('servergroup', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=128), nullable=False), sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('user_id', 'name') ) op.create_table('server', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('servergroup_id', sa.Integer(), nullable=False), sa.Column('name', sa.String(length=128), nullable=False), sa.Column('host', sa.String(length=128), nullable=False), sa.Column('port', sa.Integer(), nullable=False), sa.Column('maintenance_db', sa.String(length=64), nullable=False), sa.Column('username', sa.String(length=64), nullable=False), sa.Column('ssl_mode', sa.String(length=16), nullable=False), sa.ForeignKeyConstraint(['servergroup_id'], ['servergroup.id'], ), sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), sa.PrimaryKeyConstraint('id') ) email, password = user_info() db.engine.execute(""" INSERT INTO "user" VALUES(1, '%s', '%s', 1, NULL) """ % (email, password)) db.engine.execute(""" INSERT INTO "version" VALUES('ConfigDB', 2); """) db.engine.execute(""" INSERT INTO "role" VALUES(1, 'Administrators', 'pgAdmin Administrators Role') """) db.engine.execute(""" INSERT INTO "roles_users" VALUES(1, 1); """) db.engine.execute(""" INSERT INTO "servergroup" VALUES(1, 1, 'Servers') """) # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.drop_table('server') op.drop_table('servergroup') op.drop_table('roles_users') op.drop_table('setting') op.drop_table('role') op.drop_table('user') op.drop_table('version') # ### end Alembic commands ###