diff --git a/src/main/resources/db/migration/V014__tenant_slug_partial_unique.sql b/src/main/resources/db/migration/V014__tenant_slug_partial_unique.sql new file mode 100644 index 0000000..b072d87 --- /dev/null +++ b/src/main/resources/db/migration/V014__tenant_slug_partial_unique.sql @@ -0,0 +1,5 @@ +-- Replace absolute unique constraint on slug with partial unique index +-- that excludes DELETED tenants, allowing slug reuse after soft-delete. +ALTER TABLE tenants DROP CONSTRAINT tenants_slug_key; +DROP INDEX IF EXISTS idx_tenants_slug; +CREATE UNIQUE INDEX tenants_slug_active_key ON tenants (slug) WHERE status != 'DELETED';