mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-09 23:02:13 -05:00
more files
This commit is contained in:
@@ -35,27 +35,26 @@ alter_str = 'ALTER TABLE {table} ALTER COLUMN status TYPE {enum} USING status::t
|
||||
|
||||
|
||||
def upgrade():
|
||||
op.execute('ALTER TYPE {enum} RENAME TO {tmp_name}'.format(enum=enum_name, tmp_name=tmp_name))
|
||||
op.execute('ALTER TYPE notify_status_type RENAME TO tmp_notify_status_type')
|
||||
|
||||
new_type.create(op.get_bind())
|
||||
op.execute(alter_str.format(table='notifications', enum=enum_name))
|
||||
op.execute(alter_str.format(table='notification_history', enum=enum_name))
|
||||
op.execute('ALTER TABLE notifications ALTER COLUMN status TYPE notify_status_type USING status::text::notify_status_type')
|
||||
op.execute(
|
||||
'ALTER TABLE notification_history ALTER COLUMN status TYPE notify_status_type USING status::text::notify_status_type')
|
||||
|
||||
op.execute('DROP TYPE ' + tmp_name)
|
||||
op.execute('DROP TYPE tmp_notify_status_type')
|
||||
|
||||
|
||||
def downgrade():
|
||||
op.execute('ALTER TYPE {enum} RENAME TO {tmp_name}'.format(enum=enum_name, tmp_name=tmp_name))
|
||||
op.execute('ALTER TYPE notify_status_type RENAME TO tmp_notify_status_type')
|
||||
|
||||
# Convert 'sent' template into 'sending'
|
||||
update_str = "UPDATE {table} SET status='sending' where status='sent'"
|
||||
|
||||
op.execute(update_str.format(table='notifications'))
|
||||
op.execute(update_str.format(table='notification_history'))
|
||||
op.execute("UPDATE notifications SET status='sending' where status='sent'")
|
||||
op.execute("UPDATE notification_history SET status='sending' where status='sent'")
|
||||
|
||||
old_type.create(op.get_bind())
|
||||
|
||||
op.execute(alter_str.format(table='notifications', enum=enum_name))
|
||||
op.execute(alter_str.format(table='notification_history', enum=enum_name))
|
||||
op.execute('ALTER TABLE notifications ALTER COLUMN status TYPE notify_status_type USING status::text::notify_status_type')
|
||||
op.execute(
|
||||
'ALTER TABLE notification_history ALTER COLUMN status TYPE notify_status_type USING status::text::notify_status_type')
|
||||
|
||||
op.execute('DROP TYPE ' + tmp_name)
|
||||
op.execute('DROP TYPE tmp_notify_status_type')
|
||||
|
||||
@@ -7,6 +7,8 @@ Create Date: 2017-05-23 18:13:03.532095
|
||||
"""
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
from sqlalchemy import text
|
||||
|
||||
revision = '0095_migrate_existing_svc_perms'
|
||||
down_revision = '0094_job_stats_update'
|
||||
|
||||
@@ -27,13 +29,34 @@ def upgrade():
|
||||
"{2} AND id NOT IN (SELECT service_id FROM service_permissions "\
|
||||
"WHERE service_id=id AND permission='{0}')".format(permission, migration_date, flag)
|
||||
|
||||
op.execute("INSERT INTO service_permissions (service_id, permission, created_at) {}".format(get_values('sms')))
|
||||
op.execute("INSERT INTO service_permissions (service_id, permission, created_at) {}".format(get_values('email')))
|
||||
op.execute("INSERT INTO service_permissions (service_id, permission, created_at) {}".format(
|
||||
get_values_if_flag('letter', 'can_send_letters')))
|
||||
op.execute("INSERT INTO service_permissions (service_id, permission, created_at) {}".format(
|
||||
get_values_if_flag('international_sms', 'can_send_international_sms')))
|
||||
conn = op.get_bind()
|
||||
conn.execute("""
|
||||
INSERT INTO service_permissions (service_id, permission, created_at)
|
||||
SELECT id, 'sms', '2017-05-26 17:30:00.000000' FROM services
|
||||
WHERE id NOT IN (SELECT service_id FROM service_permissions
|
||||
WHERE service_id=id AND permission='sms')
|
||||
""")
|
||||
|
||||
conn.execute("""
|
||||
INSERT INTO service_permissions (service_id, permission, created_at)
|
||||
SELECT id, 'email', '2017-05-26 17:30:00.000000' FROM services
|
||||
WHERE id NOT IN (SELECT service_id FROM service_permissions
|
||||
WHERE service_id=id AND permission='email')
|
||||
""")
|
||||
|
||||
conn.execute("""
|
||||
INSERT INTO service_permissions (service_id, permission, created_at)
|
||||
SELECT id, 'letter', '2017-05-26 17:30:00.000000' FROM services
|
||||
WHERE can_send_letters AND id NOT IN (SELECT service_id FROM service_permissions
|
||||
WHERE service_id=id AND permission='letter')
|
||||
""")
|
||||
conn.execute("""
|
||||
INSERT INTO service_permissions (service_id, permission, created_at)
|
||||
SELECT id, 'international_sms', '2017-05-26 17:30:00.000000' FROM services
|
||||
WHERE can_send_international_sms AND id NOT IN (SELECT service_id FROM service_permissions
|
||||
WHERE service_id=id AND permission='international_sms')
|
||||
""")
|
||||
|
||||
|
||||
def downgrade():
|
||||
op.execute("DELETE FROM service_permissions WHERE created_at = '{}'::timestamp".format(migration_date))
|
||||
op.execute("DELETE FROM service_permissions WHERE created_at = '2017-05-26 17:30:00.000000'::timestamp")
|
||||
|
||||
Reference in New Issue
Block a user