diff --git a/migrations/999_fix_cvr_unique_constraint.sql b/migrations/999_fix_cvr_unique_constraint.sql new file mode 100644 index 0000000..a15027f --- /dev/null +++ b/migrations/999_fix_cvr_unique_constraint.sql @@ -0,0 +1,13 @@ +-- Migration: Fix CVR Unique Constraint +-- Allow multiple customers without CVR number (NULL or empty string) + +-- Drop old unique constraint +ALTER TABLE customers DROP CONSTRAINT IF EXISTS customers_cvr_number_key; + +-- Create partial unique index - only enforce uniqueness for non-empty CVR numbers +CREATE UNIQUE INDEX IF NOT EXISTS customers_cvr_number_unique_idx +ON customers (cvr_number) +WHERE cvr_number IS NOT NULL AND cvr_number != ''; + +COMMENT ON INDEX customers_cvr_number_unique_idx IS +'Ensures CVR numbers are unique, but allows multiple customers without CVR';