Make postage column part of ft_billing primary key

Now that the postage column is populated and there are no null values,
it can be added to the composite primary key of ft_billing.
This commit is contained in:
Katie Smith
2018-09-26 15:09:13 +01:00
parent f034c26e19
commit f41e0f05ec
2 changed files with 40 additions and 1 deletions

View File

@@ -1811,7 +1811,7 @@ class FactBilling(db.Model):
rate_multiplier = db.Column(db.Integer(), nullable=False, primary_key=True)
international = db.Column(db.Boolean, nullable=False, primary_key=True)
rate = db.Column(db.Numeric(), nullable=False, primary_key=True)
postage = db.Column(db.String)
postage = db.Column(db.String, nullable=False, primary_key=True)
billable_units = db.Column(db.Integer(), nullable=True)
notifications_sent = db.Column(db.Integer(), nullable=True)
created_at = db.Column(db.DateTime, nullable=False, default=datetime.datetime.utcnow)

View File

@@ -0,0 +1,39 @@
"""
Revision ID: 0235_add_postage_to_pk
Revises: 0234_ft_billing_postage
Create Date: 2018-09-28 15:39:21.115358
"""
from alembic import op
import sqlalchemy as sa
revision = '0235_add_postage_to_pk'
down_revision = '0234_ft_billing_postage'
def upgrade():
op.drop_constraint('ft_billing_pkey', 'ft_billing', type_='primary')
op.create_primary_key('ft_billing_pkey', 'ft_billing', ['bst_date',
'template_id',
'service_id',
'notification_type',
'provider',
'rate_multiplier',
'international',
'rate',
'postage'])
def downgrade():
op.drop_constraint('ft_billing_pkey', 'ft_billing', type_='primary')
op.alter_column('ft_billing', 'postage', nullable=True)
op.create_primary_key('ft_billing_pkey', 'ft_billing', ['bst_date',
'template_id',
'service_id',
'notification_type',
'provider',
'rate_multiplier',
'international',
'rate'])