Files
notifications-api/migrations/versions/0347_add_dvla_volumes_template.py
Pea Tyczynska b05ddd4978 Don't donwgrade if the environment is production
Because we are nervous about deleting data on prod, since it can
block the db.
2021-02-23 15:13:53 +00:00

85 lines
3.0 KiB
Python
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
Revision ID: 0347_add_dvla_volumes_template
Revises: 0346_notify_number_sms_sender
Create Date: 2021-02-15 15:36:34.654275
"""
import os
from datetime import datetime
from alembic import op
from flask import current_app
revision = '0347_add_dvla_volumes_template'
down_revision = '0346_notify_number_sms_sender'
email_template_id = "11fad854-fd38-4a7c-bd17-805fb13dfc12"
environment = os.environ['NOTIFY_ENVIRONMENT']
def upgrade():
template_insert = """
INSERT INTO templates (id, name, template_type, created_at, content, archived, service_id, subject,
created_by_id, version, process_type, hidden)
VALUES ('{}', '{}', '{}', '{}', '{}', False, '{}', '{}', '{}', 1, '{}', false)
"""
template_history_insert = """
INSERT INTO templates_history (id, name, template_type, created_at, content, archived, service_id, subject,
created_by_id, version, process_type, hidden)
VALUES ('{}', '{}', '{}', '{}', '{}', False, '{}', '{}', '{}', 1, '{}', false)
"""
email_template_content = '\n'.join([
"((total_volume)) letters (((total_sheets)) sheets) sent via Notify are coming in today''s batch. These include: ",
"",
"((first_class_volume)) first class letters (((first_class_sheets)) sheets).",
"((second_class_volume)) second class letters (((second_class_sheets)) sheets).",
"((international_volume)) international letters (((international_sheets)) sheets).",
"",
"Thanks",
"",
"GOV.UK Notify team",
"https://www.gov.uk/notify"
])
email_template_name = "Notify daily letter volumes"
email_template_subject = "Notify letter volume for ((date)): ((total_volume)) letters, ((total_sheets)) sheets"
op.execute(
template_history_insert.format(
email_template_id,
email_template_name,
'email',
datetime.utcnow(),
email_template_content,
current_app.config['NOTIFY_SERVICE_ID'],
email_template_subject,
current_app.config['NOTIFY_USER_ID'],
'normal'
)
)
op.execute(
template_insert.format(
email_template_id,
email_template_name,
'email',
datetime.utcnow(),
email_template_content,
current_app.config['NOTIFY_SERVICE_ID'],
email_template_subject,
current_app.config['NOTIFY_USER_ID'],
'normal'
)
)
def downgrade():
if environment not in ["live", "production"]:
op.execute("DELETE FROM notifications WHERE template_id = '{}'".format(email_template_id))
op.execute("DELETE FROM notification_history WHERE template_id = '{}'".format(email_template_id))
op.execute("DELETE FROM template_redacted WHERE template_id = '{}'".format(email_template_id))
op.execute("DELETE FROM templates_history WHERE id = '{}'".format(email_template_id))
op.execute("DELETE FROM templates WHERE id = '{}'".format(email_template_id))