From f5a845be14c3ff68e5ef2655b0edd6b4c0d4fc32 Mon Sep 17 00:00:00 2001 From: Ken Dreyer Date: Oct 14 2019 08:07:41 +0000 Subject: enforce unique content generator names in database Set a uniqueness constraint on the content generator name in the database. Prior to this change, we were only enforcing this in the hub application layer. Configure this in postgres for safety. --- diff --git a/docs/schema-upgrade-1.18-1.19.sql b/docs/schema-upgrade-1.18-1.19.sql index 6562e09..a058609 100644 --- a/docs/schema-upgrade-1.18-1.19.sql +++ b/docs/schema-upgrade-1.18-1.19.sql @@ -77,4 +77,8 @@ INSERT INTO user_krb_principals ( SELECT id, krb_principal FROM users WHERE user ALTER TABLE users DROP COLUMN krb_principal; +-- Disallow duplicate content generator names +ALTER TABLE content_generator ADD UNIQUE (name); +ALTER TABLE content_generator ALTER COLUMN name SET NOT NULL; + COMMIT; diff --git a/docs/schema.sql b/docs/schema.sql index c5c9dad..44986b9 100644 --- a/docs/schema.sql +++ b/docs/schema.sql @@ -257,7 +257,7 @@ INSERT INTO volume (id, name) VALUES (0, 'DEFAULT'); -- data for content generators CREATE TABLE content_generator ( id SERIAL PRIMARY KEY, - name TEXT + name TEXT UNIQUE NOT NULL ) WITHOUT OIDS; -- here we track the built packages