From e950662cedafc331048e7cc04e72ebc80e9bc4e5 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Sun, 24 Sep 2023 19:14:23 +0800 Subject: [PATCH] Replace the unique constraint on library_item table with a unique index of userId and md5 hashed original url --- .../0127.do.replace_unique_index_on_library_item.sql | 10 ++++++++++ .../0127.undo.replace_unique_index_on_library_item.sql | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100755 packages/db/migrations/0127.do.replace_unique_index_on_library_item.sql create mode 100755 packages/db/migrations/0127.undo.replace_unique_index_on_library_item.sql diff --git a/packages/db/migrations/0127.do.replace_unique_index_on_library_item.sql b/packages/db/migrations/0127.do.replace_unique_index_on_library_item.sql new file mode 100755 index 000000000..2231e8c0f --- /dev/null +++ b/packages/db/migrations/0127.do.replace_unique_index_on_library_item.sql @@ -0,0 +1,10 @@ +-- Type: DO +-- Name: replace_unique_index_on_library_item +-- Description: Create a unique index of MD5 hashed url and userId on library item table + +BEGIN; + +ALTER TABLE omnivore.library_item DROP CONSTRAINT IF EXISTS library_item_user_id_original_url_key; +CREATE UNIQUE INDEX library_item_user_id_hashed_original_url_key ON omnivore.library_item (user_id, md5(original_url)); + +COMMIT; diff --git a/packages/db/migrations/0127.undo.replace_unique_index_on_library_item.sql b/packages/db/migrations/0127.undo.replace_unique_index_on_library_item.sql new file mode 100755 index 000000000..e5329d07a --- /dev/null +++ b/packages/db/migrations/0127.undo.replace_unique_index_on_library_item.sql @@ -0,0 +1,10 @@ +-- Type: UNDO +-- Name: replace_unique_index_on_library_item +-- Description: Create a unique index of MD5 hashed url and userId on library item table + +BEGIN; + +DROP INDEX IF EXISTS omnivore.library_item_user_id_hashed_original_url_key; +ALTER TABLE omnivore.library_item ADD CONSTRAINT library_item_user_id_original_url_key UNIQUE (user_id, original_url); + +COMMIT;