From a63d427efd87038d853de178bafcfe508fe99c85 Mon Sep 17 00:00:00 2001 From: Kayla Washburn-Love Date: Fri, 17 May 2024 12:40:38 -0600 Subject: [PATCH] chore: add unique org name constraint to db (#13311) --- coderd/database/dump.sql | 3 +++ coderd/database/migrations/000210_unique_org_name.down.sql | 2 ++ coderd/database/migrations/000210_unique_org_name.up.sql | 2 ++ coderd/database/unique_constraint.go | 1 + 4 files changed, 8 insertions(+) create mode 100644 coderd/database/migrations/000210_unique_org_name.down.sql create mode 100644 coderd/database/migrations/000210_unique_org_name.up.sql diff --git a/coderd/database/dump.sql b/coderd/database/dump.sql index 33a9ebbef8..718c323fd7 100644 --- a/coderd/database/dump.sql +++ b/coderd/database/dump.sql @@ -1479,6 +1479,9 @@ ALTER TABLE ONLY oauth2_provider_apps ALTER TABLE ONLY organization_members ADD CONSTRAINT organization_members_pkey PRIMARY KEY (organization_id, user_id); +ALTER TABLE ONLY organizations + ADD CONSTRAINT organizations_name UNIQUE (name); + ALTER TABLE ONLY organizations ADD CONSTRAINT organizations_pkey PRIMARY KEY (id); diff --git a/coderd/database/migrations/000210_unique_org_name.down.sql b/coderd/database/migrations/000210_unique_org_name.down.sql new file mode 100644 index 0000000000..d06cff629f --- /dev/null +++ b/coderd/database/migrations/000210_unique_org_name.down.sql @@ -0,0 +1,2 @@ +ALTER TABLE ONLY organizations + DROP CONSTRAINT IF EXISTS organizations_name; diff --git a/coderd/database/migrations/000210_unique_org_name.up.sql b/coderd/database/migrations/000210_unique_org_name.up.sql new file mode 100644 index 0000000000..44079422b4 --- /dev/null +++ b/coderd/database/migrations/000210_unique_org_name.up.sql @@ -0,0 +1,2 @@ +ALTER TABLE ONLY organizations + ADD CONSTRAINT organizations_name UNIQUE (name); diff --git a/coderd/database/unique_constraint.go b/coderd/database/unique_constraint.go index 9dfc8c124a..8b61e06518 100644 --- a/coderd/database/unique_constraint.go +++ b/coderd/database/unique_constraint.go @@ -32,6 +32,7 @@ const ( UniqueOauth2ProviderAppsNameKey UniqueConstraint = "oauth2_provider_apps_name_key" // ALTER TABLE ONLY oauth2_provider_apps ADD CONSTRAINT oauth2_provider_apps_name_key UNIQUE (name); UniqueOauth2ProviderAppsPkey UniqueConstraint = "oauth2_provider_apps_pkey" // ALTER TABLE ONLY oauth2_provider_apps ADD CONSTRAINT oauth2_provider_apps_pkey PRIMARY KEY (id); UniqueOrganizationMembersPkey UniqueConstraint = "organization_members_pkey" // ALTER TABLE ONLY organization_members ADD CONSTRAINT organization_members_pkey PRIMARY KEY (organization_id, user_id); + UniqueOrganizationsName UniqueConstraint = "organizations_name" // ALTER TABLE ONLY organizations ADD CONSTRAINT organizations_name UNIQUE (name); UniqueOrganizationsPkey UniqueConstraint = "organizations_pkey" // ALTER TABLE ONLY organizations ADD CONSTRAINT organizations_pkey PRIMARY KEY (id); UniqueParameterSchemasJobIDNameKey UniqueConstraint = "parameter_schemas_job_id_name_key" // ALTER TABLE ONLY parameter_schemas ADD CONSTRAINT parameter_schemas_job_id_name_key UNIQUE (job_id, name); UniqueParameterSchemasPkey UniqueConstraint = "parameter_schemas_pkey" // ALTER TABLE ONLY parameter_schemas ADD CONSTRAINT parameter_schemas_pkey PRIMARY KEY (id);