Private
Public Access
1
0
Files
linux_patch_manager/migrations/006_host_patch_data_unique.sql
Echo f2b5c0fad5
Some checks failed
CI Pipeline / Rust Format Check (push) Failing after 6s
CI Pipeline / Clippy Lints (push) Successful in 1m13s
CI Pipeline / Rust Unit Tests (push) Successful in 1m17s
CI Pipeline / Security Audit (push) Successful in 32s
CI Pipeline / Frontend Lint & Type Check (push) Successful in 59s
CI Pipeline / Build .deb & Release (push) Has been skipped
fix: make migration 006 idempotent for UNIQUE constraint
2026-05-04 15:36:29 +00:00

20 lines
641 B
SQL

-- Migration 006: Add UNIQUE constraint on host_id in host_patch_data
-- Clean up duplicate rows (keep latest polled_at per host) before adding constraint.
-- Step 1: Delete duplicate rows, keeping only the most recent poll per host
DELETE FROM host_patch_data a
USING host_patch_data b
WHERE a.host_id = b.host_id
AND a.polled_at < b.polled_at;
-- Step 2: Add UNIQUE constraint on host_id (idempotent)
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_constraint WHERE conname = 'host_patch_data_host_id_key'
) THEN
ALTER TABLE host_patch_data
ADD CONSTRAINT host_patch_data_host_id_key UNIQUE (host_id);
END IF;
END $$;