abkfenris/gage-web

View on GitHub
migrations/versions/3b5d923f174f_initial_migration.py

Summary

Maintainability
D
1 day
Test Coverage
"""Initial migration

Revision ID: 3b5d923f174f
Revises: None
Create Date: 2015-04-16 19:46:07.049024

"""

# revision identifiers, used by Alembic.
revision = '3b5d923f174f'
down_revision = None

from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
import geoalchemy2

def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.create_table('roles',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('name', sa.String(length=80), nullable=True),
    sa.Column('description', sa.String(length=255), nullable=True),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('name')
    )
    op.create_table('users',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('username', sa.String(length=80), nullable=True),
    sa.Column('email', sa.String(length=120), nullable=True),
    sa.Column('password', sa.String(length=255), nullable=True),
    sa.Column('active', sa.Boolean(), nullable=True),
    sa.Column('confirmed_at', sa.DateTime(), nullable=True),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('email'),
    sa.UniqueConstraint('username')
    )
    op.create_table('regions',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('name', sa.String(length=80), nullable=True),
    sa.Column('slug', sa.String(length=80), nullable=True),
    sa.Column('description', sa.Text(), nullable=True),
    sa.Column('short_description', sa.Text(), nullable=True),
    sa.Column('header_image', sa.String(length=80), nullable=True),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_table('rivers',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('name', sa.String(length=80), nullable=True),
    sa.Column('slug', sa.String(length=80), nullable=True),
    sa.Column('description', sa.Text(), nullable=True),
    sa.Column('short_description', sa.Text(), nullable=True),
    sa.Column('header_image', sa.String(length=80), nullable=True),
    sa.Column('parent_id', sa.Integer(), nullable=True),
    sa.ForeignKeyConstraint(['parent_id'], ['rivers.id'], ),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('slug')
    )
    op.create_table('gages',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('name', sa.String(length=80), nullable=True),
    sa.Column('slug', sa.String(length=80), nullable=True),
    sa.Column('point', geoalchemy2.types.Geometry(geometry_type='POINT', srid=4326), nullable=True),
    sa.Column('river_id', sa.Integer(), nullable=True),
    sa.Column('user_id', sa.Integer(), nullable=True),
    sa.Column('visible', sa.Boolean(), nullable=True),
    sa.Column('zipcode', sa.String(), nullable=True),
    sa.Column('local_town', sa.String(), nullable=True),
    sa.Column('location', sa.Text(), nullable=True),
    sa.Column('elevation', sa.Integer(), nullable=True),
    sa.Column('elevationUnits', sa.String(), nullable=True),
    sa.Column('backend_notes', sa.Text(), nullable=True),
    sa.Column('started', sa.DateTime(), nullable=True),
    sa.Column('ended', sa.DateTime(), nullable=True),
    sa.Column('description', sa.Text(), nullable=True),
    sa.Column('short_description', sa.Text(), nullable=True),
    sa.Column('key', sa.String(), nullable=True),
    sa.ForeignKeyConstraint(['river_id'], ['rivers.id'], ),
    sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('slug')
    )
    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'], ['roles.id'], ),
    sa.ForeignKeyConstraint(['user_id'], ['users.id'], )
    )
    op.create_table('sections',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('name', sa.String(length=80), nullable=True),
    sa.Column('slug', sa.String(length=80), nullable=True),
    sa.Column('river_id', sa.Integer(), nullable=True),
    sa.Column('description', sa.Text(), nullable=True),
    sa.Column('short_description', sa.Text(), nullable=True),
    sa.Column('access', sa.String(), nullable=True),
    sa.Column('location', sa.String(), nullable=True),
    sa.Column('putin', geoalchemy2.types.Geometry(geometry_type='POINT', srid=4326), nullable=True),
    sa.Column('takeout', geoalchemy2.types.Geometry(geometry_type='POINT', srid=4326), nullable=True),
    sa.Column('path', geoalchemy2.types.Geometry(geometry_type='LINESTRING', srid=4326), nullable=True),
    sa.Column('in_elevation', sa.Integer(), nullable=True),
    sa.Column('out_elevation', sa.Integer(), nullable=True),
    sa.Column('header_image', sa.String(length=80), nullable=True),
    sa.ForeignKeyConstraint(['river_id'], ['rivers.id'], ),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('slug')
    )
    op.create_table('rivers_regions',
    sa.Column('river', sa.Integer(), nullable=True),
    sa.Column('region', sa.Integer(), nullable=True),
    sa.ForeignKeyConstraint(['region'], ['regions.id'], ),
    sa.ForeignKeyConstraint(['river'], ['rivers.id'], )
    )
    op.create_table('gages_regions',
    sa.Column('gage', sa.Integer(), nullable=True),
    sa.Column('region', sa.Integer(), nullable=True),
    sa.ForeignKeyConstraint(['gage'], ['gages.id'], ),
    sa.ForeignKeyConstraint(['region'], ['regions.id'], )
    )
    op.create_table('sections_regions',
    sa.Column('section', sa.Integer(), nullable=True),
    sa.Column('region', sa.Integer(), nullable=True),
    sa.ForeignKeyConstraint(['region'], ['regions.id'], ),
    sa.ForeignKeyConstraint(['section'], ['sections.id'], )
    )
    op.create_table('sensors',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('gage_id', sa.Integer(), nullable=True),
    sa.Column('stype', sa.String(length=80), nullable=True),
    sa.Column('name', sa.String(length=80), nullable=True),
    sa.Column('slug', sa.String(length=80), nullable=True),
    sa.Column('prefix', sa.String(length=10), nullable=True),
    sa.Column('suffix', sa.String(length=10), nullable=True),
    sa.Column('local', sa.Boolean(), nullable=True),
    sa.Column('remote_type', sa.String(), nullable=True),
    sa.Column('remote_id', sa.String(), nullable=True),
    sa.Column('remote_parameter', sa.String(), nullable=True),
    sa.Column('last', sa.DateTime(), nullable=True),
    sa.Column('title', sa.String(), nullable=True),
    sa.Column('xlabel', sa.String(), nullable=True),
    sa.Column('ylabel', sa.String(), nullable=True),
    sa.Column('info', postgresql.JSON(), nullable=True),
    sa.Column('description', sa.Text(), nullable=True),
    sa.Column('backend_notes', sa.Text(), nullable=True),
    sa.Column('minimum', sa.Float(), nullable=True),
    sa.Column('maximum', sa.Float(), nullable=True),
    sa.Column('started', sa.DateTime(), nullable=True),
    sa.Column('ended', sa.DateTime(), nullable=True),
    sa.ForeignKeyConstraint(['gage_id'], ['gages.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_table('correlations',
    sa.Column('section_id', sa.Integer(), nullable=False),
    sa.Column('sensor_id', sa.Integer(), nullable=False),
    sa.Column('minimum', sa.Float(), nullable=True),
    sa.Column('low', sa.Float(), nullable=True),
    sa.Column('medium', sa.Float(), nullable=True),
    sa.Column('high', sa.Float(), nullable=True),
    sa.Column('huge', sa.Float(), nullable=True),
    sa.Column('trend_slope', sa.Float(), nullable=True),
    sa.Column('trend_samples', sa.Integer(), nullable=True),
    sa.Column('description', sa.Text(), nullable=True),
    sa.Column('backend_notes', sa.Text(), nullable=True),
    sa.ForeignKeyConstraint(['section_id'], ['sections.id'], ),
    sa.ForeignKeyConstraint(['sensor_id'], ['sensors.id'], ),
    sa.PrimaryKeyConstraint('section_id', 'sensor_id')
    )
    op.create_table('samples',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('sensor_id', sa.Integer(), nullable=True),
    sa.Column('datetime', sa.DateTime(), nullable=True),
    sa.Column('value', sa.Float(), nullable=True),
    sa.ForeignKeyConstraint(['sensor_id'], ['sensors.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    #op.drop_table('spatial_ref_sys')
    ### end Alembic commands ###


def downgrade():
    ### commands auto generated by Alembic - please adjust! ###
    #op.create_table('spatial_ref_sys',
    #sa.Column('srid', sa.INTEGER(), autoincrement=False, nullable=False),
    #sa.Column('auth_name', sa.VARCHAR(length=256), autoincrement=False, nullable=True),
    #sa.Column('auth_srid', sa.INTEGER(), autoincrement=False, nullable=True),
    #sa.Column('srtext', sa.VARCHAR(length=2048), autoincrement=False, nullable=True),
    #sa.Column('proj4text', sa.VARCHAR(length=2048), autoincrement=False, nullable=True),
    #sa.PrimaryKeyConstraint('srid', name=u'spatial_ref_sys_pkey')
    #)
    op.drop_table('samples')
    op.drop_table('correlations')
    op.drop_table('sensors')
    op.drop_table('sections_regions')
    op.drop_table('gages_regions')
    op.drop_table('rivers_regions')
    op.drop_table('sections')
    op.drop_table('roles_users')
    op.drop_table('gages')
    op.drop_table('rivers')
    op.drop_table('regions')
    op.drop_table('users')
    op.drop_table('roles')
    ### end Alembic commands ###