From 79737194e320ad5f35ca21feed1f5dd4b70d7f0b Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Oct 10 2019 09:57:36 +0000 Subject: make CG names unique on db level 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. Based on https://pagure.io/koji/pull-request/1159 Fixes: https://pagure.io/koji/issue/1668 --- diff --git a/docs/schema-upgrade-1.18-1.19.sql b/docs/schema-upgrade-1.18-1.19.sql index 093df76..1fcce7d 100644 --- a/docs/schema-upgrade-1.18-1.19.sql +++ b/docs/schema-upgrade-1.18-1.19.sql @@ -65,4 +65,9 @@ insert into archivetypes (name, description, extensions) values ('vmdk-compresse -- add kernel-image and imitramfs insert into archivetypes (name, description, extensions) values ('kernel-image', 'Kernel BZ2 Image', 'vmlinuz vmlinuz.gz vmlinuz.xz'); insert into archivetypes (name, description, extensions) values ('initramfs', 'Compressed Initramfs Image', 'img'); + +-- enforce unique content generator names in database +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 b34daa5..964530c 100644 --- a/docs/schema.sql +++ b/docs/schema.sql @@ -252,7 +252,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