mirror of
https://github.com/CompassConnections/Compass.git
synced 2026-04-04 06:51:45 -04:00
Replace DROP INDEX with IF NOT EXISTS
This commit is contained in:
@@ -30,12 +30,10 @@ END$$;
|
||||
ALTER TABLE private_user_message_channel_members ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- Indexes
|
||||
DROP INDEX IF EXISTS pumcm_members_idx;
|
||||
CREATE INDEX pumcm_members_idx
|
||||
CREATE INDEX IF NOT EXISTS pumcm_members_idx
|
||||
ON public.private_user_message_channel_members
|
||||
USING btree (channel_id, user_id);
|
||||
|
||||
DROP INDEX IF EXISTS unique_user_channel;
|
||||
CREATE UNIQUE INDEX unique_user_channel
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS unique_user_channel
|
||||
ON public.private_user_message_channel_members
|
||||
USING btree (channel_id, user_id);
|
||||
|
||||
@@ -16,7 +16,5 @@ CREATE TABLE IF NOT EXISTS private_user_messages (
|
||||
ALTER TABLE private_user_messages ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- Indexes
|
||||
DROP INDEX IF EXISTS private_user_messages_channel_id_idx;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS private_user_messages_channel_id_idx
|
||||
ON public.private_user_messages USING btree (channel_id, created_time DESC);
|
||||
|
||||
@@ -47,8 +47,6 @@ FOR SELECT
|
||||
);
|
||||
|
||||
-- Indexes
|
||||
DROP INDEX IF EXISTS user_seen_private_messages_created_time_desc_idx;
|
||||
|
||||
CREATE INDEX user_seen_private_messages_created_time_desc_idx
|
||||
CREATE INDEX IF NOT EXISTS user_seen_private_messages_created_time_desc_idx
|
||||
ON public.private_user_seen_message_channels
|
||||
USING btree (user_id, channel_id, created_time DESC);
|
||||
|
||||
@@ -17,9 +17,6 @@ FOR SELECT USING (true);
|
||||
|
||||
-- Indexes
|
||||
-- Primary key automatically creates a unique index on (creator_id, ship_id), so no need to recreate it.
|
||||
-- Keep additional indexes for query optimization:
|
||||
DROP INDEX IF EXISTS profile_ships_target1_id;
|
||||
CREATE INDEX profile_ships_target1_id ON public.profile_ships USING btree (target1_id);
|
||||
CREATE INDEX IF NOT EXISTS profile_ships_target1_id ON public.profile_ships USING btree (target1_id);
|
||||
|
||||
DROP INDEX IF EXISTS profile_ships_target2_id;
|
||||
CREATE INDEX profile_ships_target2_id ON public.profile_ships USING btree (target2_id);
|
||||
CREATE INDEX IF NOT EXISTS profile_ships_target2_id ON public.profile_ships USING btree (target2_id);
|
||||
|
||||
@@ -16,6 +16,4 @@ FOR SELECT USING (true);
|
||||
|
||||
-- Indexes
|
||||
-- The primary key already creates a unique index on (creator_id, star_id), so no need to recreate it.
|
||||
|
||||
DROP INDEX IF EXISTS profile_stars_target_id_idx;
|
||||
CREATE INDEX profile_stars_target_id_idx ON public.profile_stars USING btree (target_id);
|
||||
CREATE INDEX IF NOT EXISTS profile_stars_target_id_idx ON public.profile_stars USING btree (target_id);
|
||||
|
||||
@@ -69,11 +69,9 @@ FOR UPDATE
|
||||
WITH CHECK ((user_id = firebase_uid()));
|
||||
|
||||
-- Indexes
|
||||
DROP INDEX IF EXISTS profiles_user_id_idx;
|
||||
CREATE INDEX profiles_user_id_idx ON public.profiles USING btree (user_id);
|
||||
CREATE INDEX IF NOT EXISTS profiles_user_id_idx ON public.profiles USING btree (user_id);
|
||||
|
||||
DROP INDEX IF EXISTS unique_user_id;
|
||||
CREATE UNIQUE INDEX unique_user_id ON public.profiles USING btree (user_id);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS unique_user_id ON public.profiles USING btree (user_id);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_profiles_last_mod_24h
|
||||
ON public.profiles USING btree (last_modification_time);
|
||||
@@ -82,13 +80,10 @@ CREATE INDEX IF NOT EXISTS idx_profiles_bio_length
|
||||
ON profiles (bio_length);
|
||||
|
||||
-- Fastest general-purpose index
|
||||
DROP INDEX IF EXISTS profiles_lat_lon_idx;
|
||||
CREATE INDEX profiles_lat_lon_idx ON profiles (city_latitude, city_longitude);
|
||||
CREATE INDEX IF NOT EXISTS profiles_lat_lon_idx ON profiles (city_latitude, city_longitude);
|
||||
|
||||
-- Optional additional index for large tables / clustered inserts
|
||||
DROP INDEX IF EXISTS profiles_lat_lon_brin_idx;
|
||||
CREATE INDEX profiles_lat_lon_brin_idx ON profiles USING BRIN (city_latitude, city_longitude) WITH (pages_per_range = 32);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS profiles_lat_lon_brin_idx ON profiles USING BRIN (city_latitude, city_longitude) WITH (pages_per_range = 32);
|
||||
|
||||
|
||||
-- Functions and Triggers
|
||||
|
||||
@@ -10,11 +10,8 @@ create table push_subscriptions (
|
||||
ALTER TABLE push_subscriptions ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- Indexes
|
||||
DROP INDEX IF EXISTS user_id_idx;
|
||||
CREATE INDEX user_id_idx ON push_subscriptions (user_id);
|
||||
CREATE INDEX IF not exists user_id_idx ON push_subscriptions (user_id);
|
||||
|
||||
DROP INDEX IF EXISTS endpoint_idx;
|
||||
CREATE INDEX endpoint_idx ON push_subscriptions (endpoint);
|
||||
CREATE INDEX IF not exists endpoint_idx ON push_subscriptions (endpoint);
|
||||
|
||||
DROP INDEX IF EXISTS endpoint_user_id_idx;
|
||||
CREATE INDEX endpoint_user_id_idx ON push_subscriptions (endpoint, user_id);
|
||||
CREATE INDEX IF not exists endpoint_user_id_idx ON push_subscriptions (endpoint, user_id);
|
||||
@@ -18,20 +18,16 @@ ALTER TABLE users ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- Policies
|
||||
DROP POLICY IF EXISTS "public read" ON users;
|
||||
|
||||
CREATE POLICY "public read" ON users
|
||||
FOR SELECT
|
||||
USING (true);
|
||||
|
||||
-- Indexes
|
||||
DROP INDEX IF EXISTS user_username_idx;
|
||||
CREATE INDEX user_username_idx ON public.users USING btree (username);
|
||||
CREATE INDEX IF NOT EXISTS user_username_idx ON public.users USING btree (username);
|
||||
|
||||
DROP INDEX IF EXISTS users_created_time;
|
||||
CREATE INDEX users_created_time ON public.users USING btree (created_time DESC);
|
||||
CREATE INDEX IF NOT EXISTS users_created_time ON public.users USING btree (created_time DESC);
|
||||
|
||||
DROP INDEX IF EXISTS users_name_idx;
|
||||
CREATE INDEX users_name_idx ON public.users USING btree (name);
|
||||
CREATE INDEX IF NOT EXISTS users_name_idx ON public.users USING btree (name);
|
||||
|
||||
-- Remove these if you trust PRIMARY KEY auto-index:
|
||||
-- DROP INDEX IF EXISTS users_pkey;
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
@@ -24,20 +24,15 @@ CREATE POLICY "public read" ON vote_results
|
||||
FOR ALL USING (true);
|
||||
|
||||
-- Indexes
|
||||
DROP INDEX IF EXISTS user_id_idx;
|
||||
CREATE INDEX user_id_idx ON vote_results (user_id);
|
||||
CREATE INDEX IF NOT EXISTS user_id_idx ON vote_results (user_id);
|
||||
|
||||
DROP INDEX IF EXISTS vote_id_idx;
|
||||
CREATE INDEX vote_id_idx ON vote_results (vote_id);
|
||||
CREATE INDEX IF NOT EXISTS vote_id_idx ON vote_results (vote_id);
|
||||
|
||||
DROP INDEX IF EXISTS idx_vote_results_vote_choice;
|
||||
CREATE INDEX idx_vote_results_vote_choice ON vote_results (vote_id, choice);
|
||||
CREATE INDEX IF NOT EXISTS idx_vote_results_vote_choice ON vote_results (vote_id, choice);
|
||||
|
||||
DROP INDEX IF EXISTS idx_vote_results_vote_choice_priority;
|
||||
CREATE INDEX idx_vote_results_vote_choice_priority ON vote_results (vote_id, choice, priority);
|
||||
CREATE INDEX IF NOT EXISTS idx_vote_results_vote_choice_priority ON vote_results (vote_id, choice, priority);
|
||||
|
||||
DROP INDEX IF EXISTS idx_votes_created_time;
|
||||
CREATE INDEX idx_votes_created_time ON votes (created_time DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_votes_created_time ON votes (created_time DESC);
|
||||
|
||||
|
||||
drop function if exists get_votes_with_results;
|
||||
|
||||
@@ -20,8 +20,6 @@ CREATE POLICY "public read" ON votes
|
||||
FOR ALL USING (true);
|
||||
|
||||
-- Indexes
|
||||
DROP INDEX IF EXISTS creator_id_idx;
|
||||
CREATE INDEX creator_id_idx ON votes (creator_id);
|
||||
CREATE INDEX IF NOT EXISTS creator_id_idx ON votes (creator_id);
|
||||
|
||||
DROP INDEX IF EXISTS idx_votes_created_time;
|
||||
CREATE INDEX idx_votes_created_time ON votes (created_time DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_votes_created_time ON votes (created_time DESC);
|
||||
|
||||
Reference in New Issue
Block a user