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 Permalink 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))