mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-14 09:12:06 -05:00
72 lines
3.1 KiB
Python
72 lines
3.1 KiB
Python
"""
|
|
|
|
Revision ID: 0151_refactor_letter_rates
|
|
Revises: 0150_another_letter_org
|
|
Create Date: 2017-12-05 10:24:41.232128
|
|
|
|
"""
|
|
import uuid
|
|
from datetime import datetime
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
from sqlalchemy.dialects import postgresql
|
|
|
|
revision = '0151_refactor_letter_rates'
|
|
down_revision = '0150_another_letter_org'
|
|
|
|
|
|
def upgrade():
|
|
op.drop_table('letter_rate_details')
|
|
op.drop_table('letter_rates')
|
|
op.create_table('letter_rates',
|
|
sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False),
|
|
sa.Column('start_date', sa.DateTime(), nullable=False),
|
|
sa.Column('end_date', sa.DateTime(), nullable=True),
|
|
sa.Column('sheet_count', sa.Integer(), nullable=False),
|
|
sa.Column('rate', sa.Numeric(), nullable=False),
|
|
sa.Column('crown', sa.Boolean(), nullable=False),
|
|
sa.Column('post_class', sa.String(), nullable=False),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
|
|
start_date = datetime(2016, 3, 31, 23, 00, 00)
|
|
op.execute("insert into letter_rates values('{}', '{}', null, 1, 0.30, True, 'second')".format(
|
|
str(uuid.uuid4()), start_date)
|
|
)
|
|
op.execute("insert into letter_rates values('{}', '{}', null, 2, 0.33, True, 'second')".format(
|
|
str(uuid.uuid4()), start_date)
|
|
)
|
|
op.execute("insert into letter_rates values('{}', '{}', null, 3, 0.36, True, 'second')".format(
|
|
str(uuid.uuid4()), start_date)
|
|
)
|
|
|
|
op.execute("insert into letter_rates values('{}', '{}', null, 1, 0.33, False, 'second')".format(
|
|
str(uuid.uuid4()), start_date)
|
|
)
|
|
op.execute("insert into letter_rates values('{}', '{}', null, 2, 0.39, False, 'second')".format(
|
|
str(uuid.uuid4()), start_date)
|
|
)
|
|
op.execute("insert into letter_rates values('{}', '{}', null, 3, 0.45, False, 'second')".format(
|
|
str(uuid.uuid4()), start_date)
|
|
)
|
|
|
|
|
|
def downgrade():
|
|
op.drop_table('letter_rates')
|
|
op.create_table('letter_rates',
|
|
sa.Column('id', postgresql.UUID(), autoincrement=False, nullable=False),
|
|
sa.Column('valid_from', postgresql.TIMESTAMP(), autoincrement=False, nullable=False),
|
|
sa.PrimaryKeyConstraint('id', name='letter_rates_pkey'),
|
|
postgresql_ignore_search_path=False
|
|
)
|
|
op.create_table('letter_rate_details',
|
|
sa.Column('id', postgresql.UUID(), autoincrement=False, nullable=False),
|
|
sa.Column('letter_rate_id', postgresql.UUID(), autoincrement=False, nullable=False),
|
|
sa.Column('page_total', sa.INTEGER(), autoincrement=False, nullable=False),
|
|
sa.Column('rate', sa.NUMERIC(), autoincrement=False, nullable=False),
|
|
sa.ForeignKeyConstraint(['letter_rate_id'], ['letter_rates.id'],
|
|
name='letter_rate_details_letter_rate_id_fkey'),
|
|
sa.PrimaryKeyConstraint('id', name='letter_rate_details_pkey')
|
|
)
|