"""Initial migration

Revision ID: b9a10d5d63ce
Revises: None
Create Date: 2016-05-21 23:21:21.605076

"""

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

from alembic import op
import sqlalchemy as sa


def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.create_table('project',
    sa.Column('id', sa.String(length=64), nullable=False),
    sa.Column('name', sa.UnicodeText(), nullable=True),
    sa.Column('password', sa.String(length=128), nullable=True),
    sa.Column('contact_email', sa.String(length=128), nullable=True),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_table('archive',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('project_id', sa.String(length=64), nullable=True),
    sa.Column('name', sa.UnicodeText(), nullable=True),
    sa.ForeignKeyConstraint(['project_id'], ['project.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_table('person',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('project_id', sa.String(length=64), nullable=True),
    sa.Column('name', sa.UnicodeText(), nullable=True),
    sa.Column('activated', sa.Boolean(), nullable=True),
    sa.ForeignKeyConstraint(['project_id'], ['project.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_table('bill',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('payer_id', sa.Integer(), nullable=True),
    sa.Column('amount', sa.Float(), nullable=True),
    sa.Column('date', sa.Date(), nullable=True),
    sa.Column('what', sa.UnicodeText(), nullable=True),
    sa.Column('archive', sa.Integer(), nullable=True),
    sa.ForeignKeyConstraint(['archive'], ['archive.id'], ),
    sa.ForeignKeyConstraint(['payer_id'], ['person.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_table('billowers',
    sa.Column('bill_id', sa.Integer(), nullable=True),
    sa.Column('person_id', sa.Integer(), nullable=True),
    sa.ForeignKeyConstraint(['bill_id'], ['bill.id'], ),
    sa.ForeignKeyConstraint(['person_id'], ['person.id'], )
    )
    ### end Alembic commands ###


def downgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.drop_table('billowers')
    op.drop_table('bill')
    op.drop_table('person')
    op.drop_table('archive')
    op.drop_table('project')
    ### end Alembic commands ###
