mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-01 23:55:58 -05:00
Rebuild the letter_rates table to include everything it needs.
The current letter_rates table is not used so it is ok to drop and re-create it
This commit is contained in:
@@ -1484,17 +1484,12 @@ class LetterRate(db.Model):
|
||||
__tablename__ = 'letter_rates'
|
||||
|
||||
id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
||||
valid_from = valid_from = db.Column(db.DateTime, nullable=False)
|
||||
|
||||
|
||||
class LetterRateDetail(db.Model):
|
||||
__tablename__ = 'letter_rate_details'
|
||||
|
||||
id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
||||
letter_rate_id = db.Column(UUID(as_uuid=True), db.ForeignKey('letter_rates.id'), index=True, nullable=False)
|
||||
letter_rate = db.relationship('LetterRate', backref='letter_rates')
|
||||
page_total = db.Column(db.Integer, nullable=False)
|
||||
start_date = db.Column(db.DateTime, nullable=False)
|
||||
end_date = db.Column(db.DateTime, nullable=True)
|
||||
sheet_total = db.Column(db.Integer, nullable=False) # double sided sheet
|
||||
rate = db.Column(db.Numeric(), nullable=False)
|
||||
crown = db.Column(db.Boolean, nullable=False)
|
||||
post_class = db.Column(db.String, nullable=False)
|
||||
|
||||
|
||||
class MonthlyBilling(db.Model):
|
||||
|
||||
47
migrations/versions/0150_refactor_letter_rates.py
Normal file
47
migrations/versions/0150_refactor_letter_rates.py
Normal file
@@ -0,0 +1,47 @@
|
||||
"""
|
||||
|
||||
Revision ID: 0150_refactor_letter_rates
|
||||
Revises: 0148_add_letters_as_pdf_svc_perm
|
||||
Create Date: 2017-12-05 10:24:41.232128
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import postgresql
|
||||
|
||||
revision = '0150_refactor_letter_rates'
|
||||
down_revision = '0148_add_letters_as_pdf_svc_perm'
|
||||
|
||||
|
||||
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_total', 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')
|
||||
)
|
||||
|
||||
|
||||
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')
|
||||
)
|
||||
Reference in New Issue
Block a user