From 7bb45b64eb5ae0c458b86cedd050791484f31cb5 Mon Sep 17 00:00:00 2001 From: Jake Kasper Date: Tue, 2 Sep 2025 08:21:56 -0500 Subject: [PATCH] flyway --- .../V2__add_unique_index_weather_data.sql | 6 ++++++ .../add_unique_constraint_weather_data.sql | 18 ------------------ 2 files changed, 6 insertions(+), 18 deletions(-) create mode 100644 database/migrations/V2__add_unique_index_weather_data.sql delete mode 100644 database/migrations/add_unique_constraint_weather_data.sql diff --git a/database/migrations/V2__add_unique_index_weather_data.sql b/database/migrations/V2__add_unique_index_weather_data.sql new file mode 100644 index 0000000..69015ca --- /dev/null +++ b/database/migrations/V2__add_unique_index_weather_data.sql @@ -0,0 +1,6 @@ +-- Flyway V2: Ensure weather_data upsert works by providing a unique index +-- This migration assumes V1 baseline corresponds to the current init.sql schema + +CREATE UNIQUE INDEX IF NOT EXISTS ux_weather_data_property_date + ON weather_data(property_id, date); + diff --git a/database/migrations/add_unique_constraint_weather_data.sql b/database/migrations/add_unique_constraint_weather_data.sql deleted file mode 100644 index 0a9947c..0000000 --- a/database/migrations/add_unique_constraint_weather_data.sql +++ /dev/null @@ -1,18 +0,0 @@ --- Ensure weather_data upsert works by providing a unique index --- Safe to run multiple times -DO $$ -BEGIN - IF EXISTS ( - SELECT 1 FROM pg_indexes - WHERE schemaname = 'public' AND indexname = 'idx_weather_data_property_date' - ) THEN - DROP INDEX IF EXISTS idx_weather_data_property_date; - END IF; -EXCEPTION WHEN undefined_table THEN - -- table may not exist yet in some environments; ignore - NULL; -END $$; - -CREATE UNIQUE INDEX IF NOT EXISTS ux_weather_data_property_date - ON weather_data(property_id, date); -