From bfbe067c330c97e7b78718630a934844dba17e53 Mon Sep 17 00:00:00 2001
From: Travis Ralston <travpc@gmail.com>
Date: Sat, 19 Aug 2023 20:24:34 -0600
Subject: [PATCH] Add minor safety to DROP INDEX/TABLE statements in migrations

---
 migrations/11_add_reserved_ids_table_down.sql     |  4 ++--
 migrations/13_add_export_tables_down.sql          |  6 +++---
 migrations/16_add_media_attributes_table_down.sql |  6 +++---
 migrations/1_create_tables_down.sql               | 12 ++++++------
 migrations/20_create_id_hold_table_down.sql       |  4 ++--
 migrations/2_add_animated_col_down.sql            |  2 +-
 migrations/2_add_animated_col_up.sql              |  2 +-
 migrations/6_track_last_accessed_times_down.sql   |  4 ++--
 migrations/7_add_datastore_down.sql               |  4 ++--
 9 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/migrations/11_add_reserved_ids_table_down.sql b/migrations/11_add_reserved_ids_table_down.sql
index 0f93b6d8..b32380f8 100644
--- a/migrations/11_add_reserved_ids_table_down.sql
+++ b/migrations/11_add_reserved_ids_table_down.sql
@@ -1,2 +1,2 @@
-DROP INDEX reserved_media_index;
-DROP TABLE reserved_media;
+DROP INDEX IF EXISTS reserved_media_index;
+DROP TABLE IF EXISTS reserved_media;
diff --git a/migrations/13_add_export_tables_down.sql b/migrations/13_add_export_tables_down.sql
index 52260564..445d4447 100644
--- a/migrations/13_add_export_tables_down.sql
+++ b/migrations/13_add_export_tables_down.sql
@@ -1,3 +1,3 @@
-DROP INDEX export_parts_index;
-DROP TABLE export_parts;
-DROP TABLE exports;
+DROP INDEX IF EXISTS export_parts_index;
+DROP TABLE IF EXISTS export_parts;
+DROP TABLE IF EXISTS exports;
diff --git a/migrations/16_add_media_attributes_table_down.sql b/migrations/16_add_media_attributes_table_down.sql
index 2f108e1c..cc759221 100644
--- a/migrations/16_add_media_attributes_table_down.sql
+++ b/migrations/16_add_media_attributes_table_down.sql
@@ -1,3 +1,3 @@
-DROP INDEX idx_media_attributes_purpose;
-DROP INDEX idx_media_attributes;
-DROP TABLE media_attributes;
+DROP INDEX IF EXISTS idx_media_attributes_purpose;
+DROP INDEX IF EXISTS idx_media_attributes;
+DROP TABLE IF EXISTS media_attributes;
diff --git a/migrations/1_create_tables_down.sql b/migrations/1_create_tables_down.sql
index 12b8d853..55b584df 100644
--- a/migrations/1_create_tables_down.sql
+++ b/migrations/1_create_tables_down.sql
@@ -1,6 +1,6 @@
-DROP INDEX media_index;
-DROP INDEX thumbnails_index;
-DROP INDEX url_previews_index;
-DROP TABLE url_previews;
-DROP TABLE thumbnails;
-DROP TABLE media;
+DROP INDEX IF EXISTS media_index;
+DROP INDEX IF EXISTS thumbnails_index;
+DROP INDEX IF EXISTS url_previews_index;
+DROP TABLE IF EXISTS url_previews;
+DROP TABLE IF EXISTS thumbnails;
+DROP TABLE IF EXISTS media;
diff --git a/migrations/20_create_id_hold_table_down.sql b/migrations/20_create_id_hold_table_down.sql
index ad21bf1c..a836d266 100644
--- a/migrations/20_create_id_hold_table_down.sql
+++ b/migrations/20_create_id_hold_table_down.sql
@@ -1,2 +1,2 @@
-DROP INDEX idx_media_id_hold;
-DROP TABLE media_id_hold;
\ No newline at end of file
+DROP INDEX IF EXISTS idx_media_id_hold;
+DROP TABLE IF EXISTS media_id_hold;
\ No newline at end of file
diff --git a/migrations/2_add_animated_col_down.sql b/migrations/2_add_animated_col_down.sql
index eb413305..8a2663ac 100644
--- a/migrations/2_add_animated_col_down.sql
+++ b/migrations/2_add_animated_col_down.sql
@@ -1,3 +1,3 @@
-DROP INDEX thumbnails_index;
+DROP INDEX IF EXISTS thumbnails_index;
 CREATE UNIQUE INDEX IF NOT EXISTS thumbnails_index ON thumbnails (media_id, origin, width, height, method);
 ALTER TABLE thumbnails DROP COLUMN animated;
diff --git a/migrations/2_add_animated_col_up.sql b/migrations/2_add_animated_col_up.sql
index fcf2e0e2..050bcbe6 100644
--- a/migrations/2_add_animated_col_up.sql
+++ b/migrations/2_add_animated_col_up.sql
@@ -1,3 +1,3 @@
 ALTER TABLE thumbnails ADD COLUMN animated BOOL NOT NULL DEFAULT FALSE;
-DROP INDEX thumbnails_index;
+DROP INDEX IF EXISTS thumbnails_index;
 CREATE UNIQUE INDEX IF NOT EXISTS thumbnails_index ON thumbnails (media_id, origin, width, height, method, animated);
diff --git a/migrations/6_track_last_accessed_times_down.sql b/migrations/6_track_last_accessed_times_down.sql
index 8a5b8e2c..33a6c99d 100644
--- a/migrations/6_track_last_accessed_times_down.sql
+++ b/migrations/6_track_last_accessed_times_down.sql
@@ -1,2 +1,2 @@
-DROP INDEX last_access_index;
-DROP TABLE last_access;
+DROP INDEX IF EXISTS last_access_index;
+DROP TABLE IF EXISTS last_access;
diff --git a/migrations/7_add_datastore_down.sql b/migrations/7_add_datastore_down.sql
index e58fb60f..3daaa8d6 100644
--- a/migrations/7_add_datastore_down.sql
+++ b/migrations/7_add_datastore_down.sql
@@ -1,4 +1,4 @@
 ALTER TABLE media DROP COLUMN datastore_id;
 ALTER TABLE thumbnails DROP COLUMN datastore_id;
-DROP INDEX datastores_index;
-DROP TABLE datastores;
+DROP INDEX IF EXISTS datastores_index;
+DROP TABLE IF EXISTS datastores;
-- 
GitLab