From 9d5bcdf9100dbc7f2ad17cbbf06993c4175930a0 Mon Sep 17 00:00:00 2001 From: stvnrlly Date: Tue, 4 Oct 2022 16:13:44 +0000 Subject: [PATCH] remove broadcasts from migrations --- .../versions/0322_broadcast_service_perm.py | 5 +- migrations/versions/0323_broadcast_message.py | 74 +------------------ migrations/versions/0326_broadcast_event.py | 26 +------ .../versions/0329_purge_broadcast_data.py | 2 +- .../versions/0330_broadcast_invite_email.py | 52 +------------ migrations/versions/0331_add_broadcast_org.py | 61 +-------------- .../versions/0332_broadcast_provider_msg.py | 24 +----- .../0333_service_broadcast_provider.py | 11 +-- .../versions/0334_broadcast_message_number.py | 17 +---- .../versions/0335_broadcast_msg_content.py | 10 +-- .../versions/0336_broadcast_msg_content_2.py | 20 +---- migrations/versions/0337_broadcast_msg_api.py | 9 +-- .../versions/0340_stub_training_broadcasts.py | 4 +- .../0342_service_broadcast_settings.py | 29 ++------ .../versions/0344_stubbed_not_nullable.py | 15 +--- .../versions/0345_move_broadcast_provider.py | 22 +----- ...ast_settings_migrate_broadcast_settings.py | 30 +------- .../versions/0352_broadcast_provider_types.py | 16 +--- .../0353_broadcast_provider_not_null.py | 6 +- .../versions/0354_government_channel.py | 7 +- migrations/versions/0358_operator_channel.py | 7 +- migrations/versions/0359_more_permissions.py | 34 +-------- .../versions/0362_broadcast_msg_event.py | 4 +- .../versions/0363_cancelled_by_api_key.py | 26 +------ migrations/versions/0364_drop_old_column.py | 16 +--- 25 files changed, 52 insertions(+), 475 deletions(-) diff --git a/migrations/versions/0322_broadcast_service_perm.py b/migrations/versions/0322_broadcast_service_perm.py index 2819dd8bb..4a0385bad 100644 --- a/migrations/versions/0322_broadcast_service_perm.py +++ b/migrations/versions/0322_broadcast_service_perm.py @@ -13,9 +13,8 @@ down_revision = '0321_drop_postage_constraints' def upgrade(): - op.execute("INSERT INTO service_permission_types VALUES ('broadcast')") + pass def downgrade(): - op.execute("DELETE FROM service_permissions WHERE permission = 'broadcast'") - op.execute("DELETE FROM service_permission_types WHERE name = 'broadcast'") + pass \ No newline at end of file diff --git a/migrations/versions/0323_broadcast_message.py b/migrations/versions/0323_broadcast_message.py index 39f93948d..fdfc50750 100644 --- a/migrations/versions/0323_broadcast_message.py +++ b/migrations/versions/0323_broadcast_message.py @@ -10,22 +10,10 @@ import sqlalchemy as sa from sqlalchemy.sql import column, func from sqlalchemy.dialects import postgresql -from app.models import BroadcastMessage - revision = '0323_broadcast_message' down_revision = '0322_broadcast_service_perm' -name = 'template_type' -tmp_name = 'tmp_' + name - -old_options = ('sms', 'email', 'letter') -new_options = old_options + ('broadcast',) - -new_type = sa.Enum(*new_options, name=name) -old_type = sa.Enum(*old_options, name=name) - - STATUSES = [ 'draft', 'pending-approval', @@ -38,66 +26,8 @@ STATUSES = [ def upgrade(): - op.execute(f'ALTER TYPE {name} RENAME TO {tmp_name}') - new_type.create(op.get_bind()) - - for table in ['templates', 'templates_history', 'service_contact_list']: - op.execute(f'ALTER TABLE {table} ALTER COLUMN template_type TYPE {name} USING template_type::text::{name}') - - op.execute(f'DROP TYPE {tmp_name}') - - broadcast_status_type = op.create_table( - 'broadcast_status_type', - sa.Column('name', sa.String(), nullable=False), - sa.PrimaryKeyConstraint('name') - ) - op.bulk_insert(broadcast_status_type, [{'name': state} for state in STATUSES]) - - op.create_table( - 'broadcast_message', - sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False), - sa.Column('service_id', postgresql.UUID(as_uuid=True)), - sa.Column('template_id', postgresql.UUID(as_uuid=True), nullable=False), - sa.Column('template_version', sa.Integer(), nullable=False), - sa.Column('_personalisation', sa.String()), - sa.Column('areas', postgresql.JSONB(none_as_null=True, astext_type=sa.Text())), - sa.Column('status', sa.String()), - sa.Column('starts_at', sa.DateTime()), - sa.Column('finishes_at', sa.DateTime()), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('approved_at', sa.DateTime()), - sa.Column('cancelled_at', sa.DateTime()), - sa.Column('updated_at', sa.DateTime()), - sa.Column('created_by_id', postgresql.UUID(as_uuid=True), nullable=False), - sa.Column('approved_by_id', postgresql.UUID(as_uuid=True)), - sa.Column('cancelled_by_id', postgresql.UUID(as_uuid=True)), - - sa.ForeignKeyConstraint(['approved_by_id'], ['users.id'], ), - sa.ForeignKeyConstraint(['cancelled_by_id'], ['users.id'], ), - sa.ForeignKeyConstraint(['created_by_id'], ['users.id'], ), - sa.ForeignKeyConstraint(['service_id'], ['services.id'], ), - sa.ForeignKeyConstraint(['template_id', 'template_version'], ['templates_history.id', 'templates_history.version'], ), - sa.PrimaryKeyConstraint('id') - ) - - op.add_column('templates', sa.Column('broadcast_data', postgresql.JSONB(none_as_null=True, astext_type=sa.Text()))) - op.add_column('templates_history', sa.Column('broadcast_data', postgresql.JSONB(none_as_null=True, astext_type=sa.Text()))) + pass def downgrade(): - op.execute("DELETE FROM template_folder_map WHERE template_id IN (SELECT id FROM templates WHERE template_type = 'broadcast')") - op.execute("DELETE FROM template_redacted WHERE template_id IN (SELECT id FROM templates WHERE template_type = 'broadcast')") - op.execute("DELETE FROM templates WHERE template_type = 'broadcast'") - op.execute("DELETE FROM templates_history WHERE template_type = 'broadcast'") - - op.execute(f'ALTER TYPE {name} RENAME TO {tmp_name}') - old_type.create(op.get_bind()) - - for table in ['templates', 'templates_history', 'service_contact_list']: - op.execute(f'ALTER TABLE {table} ALTER COLUMN template_type TYPE {name} USING template_type::text::{name}') - op.execute(f'DROP TYPE {tmp_name}') - - op.drop_column('templates_history', 'broadcast_data') - op.drop_column('templates', 'broadcast_data') - op.drop_table('broadcast_message') - op.drop_table('broadcast_status_type') + pass diff --git a/migrations/versions/0326_broadcast_event.py b/migrations/versions/0326_broadcast_event.py index 46cdb258f..5ebb1a008 100644 --- a/migrations/versions/0326_broadcast_event.py +++ b/migrations/versions/0326_broadcast_event.py @@ -14,30 +14,8 @@ down_revision = '0325_int_letter_rates_fix' def upgrade(): - op.create_table('broadcast_event', - sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False), - sa.Column('service_id', postgresql.UUID(as_uuid=True), nullable=True), - sa.Column('broadcast_message_id', postgresql.UUID(as_uuid=True), nullable=False), - sa.Column('sent_at', sa.DateTime(), nullable=False), - sa.Column('message_type', sa.String(), nullable=False), - sa.Column('transmitted_content', postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), nullable=True), - sa.Column('transmitted_areas', postgresql.JSONB(none_as_null=True, astext_type=sa.Text()), nullable=False), - sa.Column('transmitted_sender', sa.String(), nullable=False), - sa.Column('transmitted_starts_at', sa.DateTime(), nullable=True), - sa.Column('transmitted_finishes_at', sa.DateTime(), nullable=True), - sa.ForeignKeyConstraint(['broadcast_message_id'], ['broadcast_message.id'], ), - sa.ForeignKeyConstraint(['service_id'], ['services.id'], ), - sa.PrimaryKeyConstraint('id') - ) - # this shouldn't be nullable. it defaults to `[]` in python. - op.alter_column('broadcast_message', 'areas', existing_type=postgresql.JSONB(astext_type=sa.Text()), nullable=False) - # this can't be nullable. it defaults to 'draft' in python. - op.alter_column('broadcast_message', 'status', existing_type=sa.VARCHAR(), nullable=False) - op.create_foreign_key(None, 'broadcast_message', 'broadcast_status_type', ['status'], ['name']) + pass def downgrade(): - op.drop_constraint('broadcast_message_status_fkey', 'broadcast_message', type_='foreignkey') - op.alter_column('broadcast_message', 'status', existing_type=sa.VARCHAR(), nullable=True) - op.alter_column('broadcast_message', 'areas', existing_type=postgresql.JSONB(astext_type=sa.Text()), nullable=True) - op.drop_table('broadcast_event') + pass diff --git a/migrations/versions/0329_purge_broadcast_data.py b/migrations/versions/0329_purge_broadcast_data.py index b8c698c53..ed3507e33 100644 --- a/migrations/versions/0329_purge_broadcast_data.py +++ b/migrations/versions/0329_purge_broadcast_data.py @@ -14,7 +14,7 @@ down_revision = '0328_international_letters_perm' def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.execute("TRUNCATE broadcast_event, broadcast_message;") + pass # ### end Alembic commands ### diff --git a/migrations/versions/0330_broadcast_invite_email.py b/migrations/versions/0330_broadcast_invite_email.py index 2127f8832..eb50bbdd4 100644 --- a/migrations/versions/0330_broadcast_invite_email.py +++ b/migrations/versions/0330_broadcast_invite_email.py @@ -18,57 +18,9 @@ user_id = '6af522d0-2915-4e52-83a3-3690455a5fe6' service_id = 'd6aa2c68-a2d9-4437-ab19-3ae8eb202553' template_id = '46152f7c-6901-41d5-8590-a5624d0d4359' -broadcast_invitation_template_name = 'Notify broadcast invitation email' -broadcast_invitation_subject = "((user_name)) has invited you to join ((service_name)) on GOV.UK Notify" -broadcast_invitation_content = """((user_name)) has invited you to join ((service_name)) on GOV.UK Notify. - -In an emergency, use Notify to broadcast an alert, warning the public about an imminent risk to life. - -Use this link to join the team: -((url)) - -This invitation will stop working at midnight tomorrow. This is to keep ((service_name)) secure. - -Thanks - -GOV.​UK Notify team -https://www.gov.uk/notify -""" - - def upgrade(): - insert_query = """ - INSERT INTO {} - (id, name, template_type, created_at, content, archived, service_id, - subject, created_by_id, version, process_type, hidden) - VALUES - ('{}', '{}', 'email', '{}', '{}', False, '{}', '{}', '{}', 1, 'normal', False) - """ - - op.execute(insert_query.format( - 'templates_history', - template_id, - broadcast_invitation_template_name, - datetime.utcnow(), - broadcast_invitation_content, - service_id, - broadcast_invitation_subject, - user_id - )) - - op.execute(insert_query.format( - 'templates', - template_id, - broadcast_invitation_template_name, - datetime.utcnow(), - broadcast_invitation_content, - service_id, - broadcast_invitation_subject, - user_id - )) + pass def downgrade(): - op.get_bind() - op.execute("delete from templates where id = '{}'".format(template_id)) - op.execute("delete from templates_history where id = '{}'".format(template_id)) + pass diff --git a/migrations/versions/0331_add_broadcast_org.py b/migrations/versions/0331_add_broadcast_org.py index 2952c10ad..9ffc3e2f2 100644 --- a/migrations/versions/0331_add_broadcast_org.py +++ b/migrations/versions/0331_add_broadcast_org.py @@ -18,64 +18,7 @@ organisation_id = '38e4bf69-93b0-445d-acee-53ea53fe02df' def upgrade(): - # we've already done this manually on production - if environment != "production": - insert_sql = """ - INSERT INTO organisation - ( - id, - name, - active, - created_at, - agreement_signed, - crown, - organisation_type - ) - VALUES ( - :id, - :name, - :active, - current_timestamp, - :agreement_signed, - :crown, - :organisation_type - ) - """ - update_service_set_broadcast_org_sql = """ - UPDATE services - SET organisation_id = :organisation_id - WHERE id in ( - SELECT service_id - FROM service_permissions - WHERE permission = 'broadcast' - ) - """ - conn = op.get_bind() - conn.execute( - sa.text(insert_sql), - id=organisation_id, - name=f'Broadcast Services ({environment})', - active=True, - agreement_signed=None, - crown=None, - organisation_type='central', - ) - conn.execute( - sa.text(update_service_set_broadcast_org_sql), - organisation_id=organisation_id - ) - + pass def downgrade(): - update_service_remove_org_sql = """ - UPDATE services - SET organisation_id = NULL, updated_at = current_timestamp - WHERE organisation_id = :organisation_id - """ - delete_sql = """ - DELETE FROM organisation - WHERE id = :organisation_id - """ - conn = op.get_bind() - conn.execute(sa.text(update_service_remove_org_sql), organisation_id=organisation_id) - conn.execute(sa.text(delete_sql), organisation_id=organisation_id) + pass diff --git a/migrations/versions/0332_broadcast_provider_msg.py b/migrations/versions/0332_broadcast_provider_msg.py index 088f1c9df..0e3539e5d 100644 --- a/migrations/versions/0332_broadcast_provider_msg.py +++ b/migrations/versions/0332_broadcast_provider_msg.py @@ -22,28 +22,8 @@ STATUSES = [ def upgrade(): - broadcast_provider_message_status_type = op.create_table( - 'broadcast_provider_message_status_type', - sa.Column('name', sa.String(), nullable=False), - sa.PrimaryKeyConstraint('name') - ) - op.bulk_insert(broadcast_provider_message_status_type, [{'name': status} for status in STATUSES]) - - # ### commands auto generated by Alembic - please adjust! ### - op.create_table( - 'broadcast_provider_message', - sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False), - sa.Column('broadcast_event_id', postgresql.UUID(as_uuid=True), nullable=True), - sa.Column('provider', sa.String(), nullable=True), - sa.Column('status', sa.String(), nullable=True), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=True), - sa.ForeignKeyConstraint(['broadcast_event_id'], ['broadcast_event.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('broadcast_event_id', 'provider') - ) + pass def downgrade(): - op.drop_table('broadcast_provider_message') - op.drop_table('broadcast_provider_message_status_type') + pass \ No newline at end of file diff --git a/migrations/versions/0333_service_broadcast_provider.py b/migrations/versions/0333_service_broadcast_provider.py index 3c8d3fa94..2de345328 100644 --- a/migrations/versions/0333_service_broadcast_provider.py +++ b/migrations/versions/0333_service_broadcast_provider.py @@ -14,15 +14,8 @@ down_revision = '0332_broadcast_provider_msg' def upgrade(): - op.create_table( - 'service_broadcast_provider_restriction', - sa.Column('service_id', postgresql.UUID(as_uuid=True), nullable=False), - sa.Column('provider', sa.String(), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.ForeignKeyConstraint(['service_id'], ['services.id'], ), - sa.PrimaryKeyConstraint('service_id') - ) + pass def downgrade(): - op.drop_table('service_broadcast_provider_restriction') + pass diff --git a/migrations/versions/0334_broadcast_message_number.py b/migrations/versions/0334_broadcast_message_number.py index db8360f98..0440640de 100644 --- a/migrations/versions/0334_broadcast_message_number.py +++ b/migrations/versions/0334_broadcast_message_number.py @@ -15,24 +15,11 @@ down_revision = '0333_service_broadcast_provider' def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.execute("create sequence broadcast_provider_message_number_seq") - op.create_table( - 'broadcast_provider_message_number', - sa.Column( - 'broadcast_provider_message_number', - sa.Integer(), - server_default=sa.text("nextval('broadcast_provider_message_number_seq')"), - nullable=False - ), - sa.Column('broadcast_provider_message_id', postgresql.UUID(as_uuid=True), nullable=False), - sa.ForeignKeyConstraint(['broadcast_provider_message_id'], ['broadcast_provider_message.id'], ), - sa.PrimaryKeyConstraint('broadcast_provider_message_number') - ) + pass # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('broadcast_provider_message_number') - op.execute("drop sequence broadcast_provider_message_number_seq") + pass # ### end Alembic commands ### diff --git a/migrations/versions/0335_broadcast_msg_content.py b/migrations/versions/0335_broadcast_msg_content.py index a96155702..8b021fc35 100644 --- a/migrations/versions/0335_broadcast_msg_content.py +++ b/migrations/versions/0335_broadcast_msg_content.py @@ -14,14 +14,8 @@ down_revision = '0334_broadcast_message_number' def upgrade(): - op.add_column('broadcast_message', sa.Column('content', sa.Text(), nullable=True)) - op.alter_column('broadcast_message', 'template_id', nullable=True) - op.alter_column('broadcast_message', 'template_version', nullable=True) + pass def downgrade(): - # downgrade fails if there are broadcasts without a template. This is deliberate cos I don't feel comfortable - # deleting broadcasts. - op.alter_column('broadcast_message', 'template_id', nullable=False) - op.alter_column('broadcast_message', 'template_version', nullable=False) - op.drop_column('broadcast_message', 'content') + pass diff --git a/migrations/versions/0336_broadcast_msg_content_2.py b/migrations/versions/0336_broadcast_msg_content_2.py index 51f05b351..1652afdec 100644 --- a/migrations/versions/0336_broadcast_msg_content_2.py +++ b/migrations/versions/0336_broadcast_msg_content_2.py @@ -11,30 +11,14 @@ from notifications_utils.template import BroadcastMessageTemplate from sqlalchemy.dialects import postgresql from sqlalchemy.orm.session import Session -from app.models import BroadcastMessage revision = '0336_broadcast_msg_content_2' down_revision = '0335_broadcast_msg_content' def upgrade(): - - conn = op.get_bind() - - results = conn.execute(sa.text(""" - UPDATE - broadcast_message - SET - content = templates_history.content - FROM - templates_history - WHERE - broadcast_message.content is NULL and - broadcast_message.template_id = templates_history.id and - broadcast_message.template_version = templates_history.version - ; - """)) + pass def downgrade(): - op.alter_column('broadcast_message', 'content', nullable=True) + pass diff --git a/migrations/versions/0337_broadcast_msg_api.py b/migrations/versions/0337_broadcast_msg_api.py index 96287e2bc..249e0e983 100644 --- a/migrations/versions/0337_broadcast_msg_api.py +++ b/migrations/versions/0337_broadcast_msg_api.py @@ -14,13 +14,8 @@ down_revision = '0336_broadcast_msg_content_2' def upgrade(): - op.alter_column('broadcast_message', 'created_by_id', nullable=True) - op.add_column('broadcast_message', sa.Column('api_key_id', postgresql.UUID(), nullable=True)) - op.create_foreign_key(None, 'broadcast_message', 'api_keys', ['api_key_id'], ['id']) - op.add_column('broadcast_message', sa.Column('reference', sa.String(length=255), nullable=True)) + pass def downgrade(): - op.alter_column('broadcast_message', 'created_by_id', nullable=False) - op.drop_column('broadcast_message', 'api_key_id') - op.add_column('broadcast_message', 'reference') + pass diff --git a/migrations/versions/0340_stub_training_broadcasts.py b/migrations/versions/0340_stub_training_broadcasts.py index beb2ac8cc..1d2091159 100644 --- a/migrations/versions/0340_stub_training_broadcasts.py +++ b/migrations/versions/0340_stub_training_broadcasts.py @@ -15,11 +15,11 @@ down_revision = '0339_service_billing_details' def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.add_column('broadcast_message', sa.Column('stubbed', sa.Boolean(), nullable=True)) + pass # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.drop_column('broadcast_message', 'stubbed') + pass # ### end Alembic commands ### diff --git a/migrations/versions/0342_service_broadcast_settings.py b/migrations/versions/0342_service_broadcast_settings.py index ba706f562..557ba55b2 100644 --- a/migrations/versions/0342_service_broadcast_settings.py +++ b/migrations/versions/0342_service_broadcast_settings.py @@ -16,28 +16,11 @@ CHANNEL_TYPES = ["test", "severe"] def upgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('broadcast_channel_types', - sa.Column('name', sa.String(length=255), nullable=False), - sa.PrimaryKeyConstraint('name') - ) - op.create_table('service_broadcast_settings', - sa.Column('service_id', postgresql.UUID(as_uuid=True), nullable=False), - sa.Column('channel', sa.String(length=255), nullable=False), - sa.Column('created_at', sa.DateTime(), nullable=False), - sa.Column('updated_at', sa.DateTime(), nullable=True), - sa.ForeignKeyConstraint(['channel'], ['broadcast_channel_types.name'], ), - sa.ForeignKeyConstraint(['service_id'], ['services.id'], ), - sa.PrimaryKeyConstraint('service_id') - ) - # ### end Alembic commands ### - - for channel in CHANNEL_TYPES: - op.execute(f"INSERT INTO broadcast_channel_types VALUES ('{channel}')") - + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### def downgrade(): - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('service_broadcast_settings') - op.drop_table('broadcast_channel_types') - # ### end Alembic commands ### + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### diff --git a/migrations/versions/0344_stubbed_not_nullable.py b/migrations/versions/0344_stubbed_not_nullable.py index eb5e87028..408eb4b5a 100644 --- a/migrations/versions/0344_stubbed_not_nullable.py +++ b/migrations/versions/0344_stubbed_not_nullable.py @@ -15,22 +15,11 @@ down_revision = '0343_org_billing_details' def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.execute("UPDATE broadcast_message SET stubbed = False WHERE stubbed is null") - op.alter_column( - 'broadcast_message', - 'stubbed', - existing_type=sa.BOOLEAN(), - nullable=False - ) + pass # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.alter_column( - 'broadcast_message', - 'stubbed', - existing_type=sa.BOOLEAN(), - nullable=True - ) + pass # ### end Alembic commands ### diff --git a/migrations/versions/0345_move_broadcast_provider.py b/migrations/versions/0345_move_broadcast_provider.py index fbcea3078..4d20419fb 100644 --- a/migrations/versions/0345_move_broadcast_provider.py +++ b/migrations/versions/0345_move_broadcast_provider.py @@ -14,26 +14,8 @@ down_revision = '0344_stubbed_not_nullable' def upgrade(): - op.add_column('service_broadcast_settings', sa.Column('provider', sa.String(), nullable=True)) - - sql = """ - select service_id, provider - from service_broadcast_provider_restriction - where service_id NOT IN (select service_id from service_broadcast_settings) - """ - insert_sql = """ - insert into service_broadcast_settings(service_id, channel, provider, created_at, updated_at) - values('{}', 'test', '{}', now(), null) - """ - conn = op.get_bind() - results = conn.execute(sql) - restrictions = results.fetchall() - for x in restrictions: - f = insert_sql.format(x.service_id, x.provider) - conn.execute(f) + pass def downgrade(): - # Downgrade does not try and fully undo the upgrade, in particular it does not - # delete the rows added to the service_broadcast_settings table - op.drop_column('service_broadcast_settings', 'provider') + pass diff --git a/migrations/versions/0348_migrate_broadcast_settings_migrate_broadcast_settings.py b/migrations/versions/0348_migrate_broadcast_settings_migrate_broadcast_settings.py index 90577f58b..4b2aaabc4 100644 --- a/migrations/versions/0348_migrate_broadcast_settings_migrate_broadcast_settings.py +++ b/migrations/versions/0348_migrate_broadcast_settings_migrate_broadcast_settings.py @@ -14,35 +14,7 @@ down_revision = '0347_add_dvla_volumes_template' def upgrade(): - # For every service that has the broadcast permission we want it to have - # a row in the broadcast_service_settings table - # - # If it doesnt have a row already, then: - # - if the service is in trial mode, add a row and set the channel as 'severe' - # - if the service is in live mode, add a row and set the channel as 'test' - # - # If it does have a row already no action needed - conn = op.get_bind() - - find_services_sql = """ - SELECT services.id, services.restricted - FROM services - LEFT JOIN service_permissions - ON services.id = service_permissions.service_id - WHERE service_permissions.permission = 'broadcast' - """ - - services = conn.execute(find_services_sql) - for service in services: - setting = conn.execute(f"SELECT service_id, channel, provider FROM service_broadcast_settings WHERE service_id = '{service.id}';").first() - if setting: - print(f"Service {service.id} already has service_broadcast_settings. No action required") - else: - channel = "severe" if service.restricted else "test" - print(f"Service {service.id} does not have service_broadcast_settings. Will insert one with channel {channel}") - conn.execute(f"INSERT INTO service_broadcast_settings (service_id, channel, created_at) VALUES ('{service.id}', '{channel}', now());") - + pass def downgrade(): - # No downgrade as we do not know what the state of the table was before that it should return to pass diff --git a/migrations/versions/0352_broadcast_provider_types.py b/migrations/versions/0352_broadcast_provider_types.py index 6d0d1fad2..48cc52814 100644 --- a/migrations/versions/0352_broadcast_provider_types.py +++ b/migrations/versions/0352_broadcast_provider_types.py @@ -11,22 +11,10 @@ import sqlalchemy as sa revision = '0352_broadcast_provider_types' down_revision = '0351_unique_key_annual_billing' -PROVIDER_TYPES = ('ee', 'three', 'vodafone', 'o2', 'all') - def upgrade(): - op.create_table('broadcast_provider_types', - sa.Column('name', sa.String(length=255), nullable=False), - sa.PrimaryKeyConstraint('name')) - for provider in PROVIDER_TYPES: - op.execute(f"INSERT INTO broadcast_provider_types VALUES ('{provider}')") - op.create_foreign_key('service_broadcast_settings_provider_fkey', - 'service_broadcast_settings', - 'broadcast_provider_types', - ['provider'], - ['name']) + pass def downgrade(): - op.drop_constraint('service_broadcast_settings_provider_fkey', 'service_broadcast_settings', type_='foreignkey') - op.drop_table('broadcast_provider_types') + pass diff --git a/migrations/versions/0353_broadcast_provider_not_null.py b/migrations/versions/0353_broadcast_provider_not_null.py index c470de38b..6c9f7f2b5 100644 --- a/migrations/versions/0353_broadcast_provider_not_null.py +++ b/migrations/versions/0353_broadcast_provider_not_null.py @@ -13,10 +13,8 @@ down_revision = '0352_broadcast_provider_types' def upgrade(): - op.execute("UPDATE service_broadcast_settings SET provider = 'all' WHERE provider is null") - op.alter_column('service_broadcast_settings', 'provider', existing_type=sa.VARCHAR(), nullable=False) + pass def downgrade(): - op.alter_column('service_broadcast_settings', 'provider', existing_type=sa.VARCHAR(), nullable=True) - op.execute("UPDATE service_broadcast_settings SET provider = null WHERE provider = 'all'") + pass diff --git a/migrations/versions/0354_government_channel.py b/migrations/versions/0354_government_channel.py index 25965c848..fc18b388f 100644 --- a/migrations/versions/0354_government_channel.py +++ b/migrations/versions/0354_government_channel.py @@ -12,11 +12,8 @@ down_revision = '0353_broadcast_provider_not_null' def upgrade(): - op.execute("INSERT INTO broadcast_channel_types VALUES ('government')") + pass def downgrade(): - # This can't be downgraded if there are rows in service_broadcast_settings which - # have the channel set to government or if broadcasts have already been sent on the - # government channel - it would break foreign key constraints. - op.execute("DELETE FROM broadcast_channel_types WHERE name = 'government'") + pass diff --git a/migrations/versions/0358_operator_channel.py b/migrations/versions/0358_operator_channel.py index eecfbac53..c36481510 100644 --- a/migrations/versions/0358_operator_channel.py +++ b/migrations/versions/0358_operator_channel.py @@ -12,11 +12,8 @@ down_revision = '0357_validate_constraint' def upgrade(): - op.execute("INSERT INTO broadcast_channel_types VALUES ('operator')") + pass def downgrade(): - # This can't be downgraded if there are rows in service_broadcast_settings which - # have the channel set to operator or if broadcasts have already been sent on the - # operator channel - it would break foreign key constraints. - op.execute("DELETE FROM broadcast_channel_types WHERE name = 'operator'") + pass diff --git a/migrations/versions/0359_more_permissions.py b/migrations/versions/0359_more_permissions.py index 329090e98..7188d5df3 100644 --- a/migrations/versions/0359_more_permissions.py +++ b/migrations/versions/0359_more_permissions.py @@ -11,40 +11,10 @@ import sqlalchemy as sa revision = '0359_more_permissions' down_revision = '0358_operator_channel' -enum_name = 'permission_types' -tmp_name = 'tmp_' + enum_name - -old_options = ( - 'manage_users', - 'manage_templates', - 'manage_settings', - 'send_texts', - 'send_emails', - 'send_letters', - 'manage_api_keys', - 'platform_admin', - 'view_activity', -) -old_type = sa.Enum(*old_options, name=enum_name) - def upgrade(): - # ALTER TYPE must be run outside of a transaction block (see link below for details) - # https://alembic.sqlalchemy.org/en/latest/api/runtime.html#alembic.runtime.migration.MigrationContext.autocommit_block - with op.get_context().autocommit_block(): - op.execute("ALTER TYPE permission_types ADD VALUE 'create_broadcasts'") - op.execute("ALTER TYPE permission_types ADD VALUE 'approve_broadcasts'") - op.execute("ALTER TYPE permission_types ADD VALUE 'cancel_broadcasts'") - op.execute("ALTER TYPE permission_types ADD VALUE 'reject_broadcasts'") + pass def downgrade(): - op.execute( - "DELETE FROM permissions WHERE permission in " - "('create_broadcasts', 'approve_broadcasts', 'cancel_broadcasts', 'reject_broadcasts')" - ) - - op.execute(f'ALTER TYPE {enum_name} RENAME TO {tmp_name}') - old_type.create(op.get_bind()) - op.execute(f'ALTER TABLE permissions ALTER COLUMN permission TYPE {enum_name} USING permission::text::{enum_name}') - op.execute(f'DROP TYPE {tmp_name}') + pass diff --git a/migrations/versions/0362_broadcast_msg_event.py b/migrations/versions/0362_broadcast_msg_event.py index 04146958c..da94ada7e 100644 --- a/migrations/versions/0362_broadcast_msg_event.py +++ b/migrations/versions/0362_broadcast_msg_event.py @@ -14,8 +14,8 @@ down_revision = '0361_new_user_bcast_permissions' def upgrade(): - op.add_column('broadcast_message', sa.Column('cap_event', sa.String(length=255), nullable=True)) + pass def downgrade(): - op.drop_column('broadcast_message', 'cap_event') + pass diff --git a/migrations/versions/0363_cancelled_by_api_key.py b/migrations/versions/0363_cancelled_by_api_key.py index 20856a287..9896efb1c 100644 --- a/migrations/versions/0363_cancelled_by_api_key.py +++ b/migrations/versions/0363_cancelled_by_api_key.py @@ -13,33 +13,11 @@ down_revision = '0362_broadcast_msg_event' def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.add_column('broadcast_message', sa.Column('created_by_api_key_id', postgresql.UUID(as_uuid=True), nullable=True)) - op.add_column( - 'broadcast_message', sa.Column('cancelled_by_api_key_id', postgresql.UUID(as_uuid=True), nullable=True) - ) - op.drop_constraint('broadcast_message_api_key_id_fkey', 'broadcast_message', type_='foreignkey') - op.create_foreign_key( - 'broadcast_message_created_by_api_key_id_fkey', - 'broadcast_message', - 'api_keys', - ['created_by_api_key_id'], - ['id'] - ) - op.create_foreign_key( - 'broadcast_message_cancelled_by_api_key_id_fkey', - 'broadcast_message', - 'api_keys', - ['cancelled_by_api_key_id'], - ['id'] - ) + pass # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.drop_constraint('broadcast_message_created_by_api_key_id_fkey', 'broadcast_message', type_='foreignkey') - op.drop_constraint('broadcast_message_cancelled_by_api_key_id_fkey', 'broadcast_message', type_='foreignkey') - op.create_foreign_key('broadcast_message_api_key_id_fkey', 'broadcast_message', 'api_keys', ['api_key_id'], ['id']) - op.drop_column('broadcast_message', 'cancelled_by_api_key_id') - op.drop_column('broadcast_message', 'created_by_api_key_id') + pass # ### end Alembic commands ### diff --git a/migrations/versions/0364_drop_old_column.py b/migrations/versions/0364_drop_old_column.py index 40b730b9c..039b229a5 100644 --- a/migrations/versions/0364_drop_old_column.py +++ b/migrations/versions/0364_drop_old_column.py @@ -14,20 +14,8 @@ down_revision = '0363_cancelled_by_api_key' def upgrade(): - # move data over - op.execute("UPDATE broadcast_message SET created_by_api_key_id=api_key_id WHERE created_by_api_key_id IS NULL") - op.create_check_constraint( - "ck_broadcast_message_created_by_not_null", - "broadcast_message", - "created_by_id is not null or created_by_api_key_id is not null" - ) - op.drop_column('broadcast_message', 'api_key_id') + pass def downgrade(): - op.add_column('broadcast_message', sa.Column('api_key_id', postgresql.UUID(), autoincrement=False, nullable=True)) - op.execute("UPDATE broadcast_message SET api_key_id=created_by_api_key_id") # move data over - op.drop_constraint( - "ck_broadcast_message_created_by_not_null", - "broadcast_message" - ) + pass