Files
notifications-api/migrations/versions/0044_jobs_to_notification_hist.py
Cliff Hill 1157f5639d black, isort, flake8
Signed-off-by: Cliff Hill <Clifford.hill@gsa.gov>
2023-12-08 21:43:52 -05:00

88 lines
4.1 KiB
Python

"""empty message
Revision ID: 0044_jobs_to_notification_hist
Revises: 0043_notification_indexes
Create Date: 2016-07-15 13:28:41.441009
"""
# revision identifiers, used by Alembic.
revision = "0044_jobs_to_notification_hist"
down_revision = "0043_notification_indexes"
import datetime
import uuid
from alembic import op
from sqlalchemy.orm.session import Session
from app.models import Job, NotificationHistory, Template
def upgrade():
#
# REMOVED
# This script has been applied and doesn't need to be re-applied
# note that by referencing the model objects in migration files, any subsequent alteration of the model and thus
# the database causes all previous migration scripts to fail as the model and DB will be inconsistent in this
# past state.
#
# session = Session(bind=op.get_bind())
#
# go_live = datetime.datetime.strptime('2016-05-18', '%Y-%m-%d')
# notifications_history_start_date = datetime.datetime.strptime('2016-06-26 23:21:55', '%Y-%m-%d %H:%M:%S')
# jobs = session.query(Job).join(Template).filter(Job.service_id == '95316ff0-e555-462d-a6e7-95d26fbfd091',
# Job.created_at >= go_live,
# Job.created_at < notifications_history_start_date).all()
#
# for job in jobs:
# for i in range(0, job.notifications_delivered):
# notification = NotificationHistory(id=uuid.uuid4(),
# job_id=job.id,
# service_id=job.service_id,
# template_id=job.template.id,
# template_version=job.template_version,
# key_type='normal',
# content_char_count=len(job.template.content),
# notification_type=job.template.template_type,
# created_at=job.created_at,
# sent_at=job.processing_finished,
# sent_by='ses' if job.template.template_type == 'email' else 'mmg',
# status='delivered')
#
# session.add(notification)
#
# for i in range(0, job.notifications_failed):
# notification = NotificationHistory(id=uuid.uuid4(),
# job_id=job.id,
# service_id=job.service_id,
# template_id=job.template.id,
# template_version=job.template_version,
# key_type='normal',
# content_char_count=len(job.template.content),
# notification_type=job.template.template_type,
# created_at=job.created_at,
# sent_at=job.processing_finished,
# sent_by='ses' if job.template.template_type == 'email' else 'mmg',
# status='permanent-failure')
# session.add(notification)
# session.commit()
pass
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
# session = Session(bind=op.get_bind())
#
# go_live = datetime.datetime.strptime('2016-05-18', '%Y-%m-%d')
# notifications_history_start_date = datetime.datetime.strptime('2016-06-26 23:21:55', '%Y-%m-%d %H:%M:%S')
#
# session.query(NotificationHistory).filter(
# NotificationHistory.created_at >= go_live,
# NotificationHistory.service_id == '95316ff0-e555-462d-a6e7-95d26fbfd091',
# NotificationHistory.created_at < notifications_history_start_date).delete()
#
# session.commit()
# ### end Alembic commands ###
pass