add nullable document_count field to Notifications

intention is for this to be null, 1, or many, based on how many
documents were linked to within the message. nullable column, so that it
doesn't require a lengthy access exclusive lock on the table when
creating.
This commit is contained in:
Leo Hemsted
2020-02-12 14:38:09 +00:00
parent 755c47c0c1
commit 743acf71e4
2 changed files with 27 additions and 0 deletions

View File

@@ -1407,6 +1407,8 @@ class Notification(db.Model):
reply_to_text = db.Column(db.String, nullable=True)
document_download_count = db.Column(db.Integer, nullable=True)
postage = db.Column(db.String, nullable=True)
CheckConstraint("""
CASE WHEN notification_type = 'letter' THEN
@@ -1683,6 +1685,8 @@ class NotificationHistory(db.Model, HistoryModel):
END
""")
document_download_count = db.Column(db.Integer, nullable=True)
__table_args__ = (
db.ForeignKeyConstraint(
['template_id', 'template_version'],

View File

@@ -0,0 +1,23 @@
"""
Revision ID: 0315_document_download_count
Revises: 0314_populate_email_access
Create Date: 2020-02-12 14:19:18.066425
"""
from alembic import op
import sqlalchemy as sa
revision = '0315_document_download_count'
down_revision = '0314_populate_email_access'
def upgrade():
op.add_column('notifications', sa.Column('document_download_count', sa.Integer(), nullable=True))
op.add_column('notification_history', sa.Column('document_download_count', sa.Integer(), nullable=True))
def downgrade():
op.drop_column('notifications', 'document_download_count')
op.drop_column('notification_history', 'document_download_count')