From 2d8c6ab494e8a411afbbe4237701523fe4d6009b Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Tue, 28 Apr 2020 09:45:09 +0100 Subject: [PATCH] This is a place to start creating scripts for maintaining the database. --- .../create_temp_notification_history.sql | 28 +++++++++++++++ .../cycle_notification_history.sql | 36 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 database_maintenance/create_temp_notification_history.sql create mode 100644 database_maintenance/cycle_notification_history.sql diff --git a/database_maintenance/create_temp_notification_history.sql b/database_maintenance/create_temp_notification_history.sql new file mode 100644 index 000000000..4a6c69394 --- /dev/null +++ b/database_maintenance/create_temp_notification_history.sql @@ -0,0 +1,28 @@ +--- Just a holding place to create a table to cycle the Notification history table +create table temp_notification_history ( + id | uuid | not null +job_id | uuid | +job_row_number | integer | +service_id | uuid | +template_id | uuid | +template_version | integer | not null +api_key_id | uuid | +key_type | character varying | not null +notification_type | notification_type | not null +created_at | timestamp without time zone | not null +sent_at | timestamp without time zone | +sent_by | character varying | +updated_at | timestamp without time zone | +reference | character varying | +billable_units | integer | not null +client_reference | character varying | +international | boolean | +phone_prefix | character varying | +rate_multiplier | numeric | +notification_status | text | +created_by_id | uuid | +postage | character varying | +document_download_count | integer | + +) +with indexes \ No newline at end of file diff --git a/database_maintenance/cycle_notification_history.sql b/database_maintenance/cycle_notification_history.sql new file mode 100644 index 000000000..f8fb2f3a7 --- /dev/null +++ b/database_maintenance/cycle_notification_history.sql @@ -0,0 +1,36 @@ + +create table temp_notification_history ( + id | uuid | not null +job_id | uuid | +job_row_number | integer | +service_id | uuid | +template_id | uuid | +template_version | integer | not null +api_key_id | uuid | +key_type | character varying | not null +notification_type | notification_type | not null +created_at | timestamp without time zone | not null +sent_at | timestamp without time zone | +sent_by | character varying | +updated_at | timestamp without time zone | +reference | character varying | +billable_units | integer | not null +client_reference | character varying | +international | boolean | +phone_prefix | character varying | +rate_multiplier | numeric | +notification_status | text | +created_by_id | uuid | +postage | character varying | +document_download_count | integer | + +) +with indexes + +create trigger to update temp_notification_history when update to notification_history + +insert data into temp_notification_history in batches + +drop table notification_history; +--- potential for data loss in this step. +rename table temp_notification_history to notification_history;