aboutsummaryrefslogtreecommitdiff
path: root/sqitch/deploy/license_support.sql
diff options
context:
space:
mode:
Diffstat (limited to 'sqitch/deploy/license_support.sql')
-rw-r--r--sqitch/deploy/license_support.sql27
1 files changed, 27 insertions, 0 deletions
diff --git a/sqitch/deploy/license_support.sql b/sqitch/deploy/license_support.sql
new file mode 100644
index 0000000..64e2708
--- /dev/null
+++ b/sqitch/deploy/license_support.sql
@@ -0,0 +1,27 @@
+-- Deploy guix-data-service:license_support to pg
+
+BEGIN;
+
+CREATE TABLE licenses (
+ id integer NOT NULL GENERATED ALWAYS AS IDENTITY,
+ name character varying NOT NULL,
+ uri character varying,
+ comment character varying,
+ PRIMARY KEY(id),
+ UNIQUE (name, uri, comment)
+);
+
+CREATE TABLE license_sets (
+ id integer GENERATED ALWAYS AS IDENTITY,
+ license_ids integer[] NOT NULL,
+ PRIMARY KEY(license_ids),
+ UNIQUE (id)
+);
+
+ALTER TABLE package_metadata ADD COLUMN license_set_id integer REFERENCES license_sets(id);
+
+ALTER TABLE package_metadata DROP CONSTRAINT synopsis_description_home_page_location_id;
+
+ALTER TABLE package_metadata ADD CONSTRAINT package_metadata_unique_fields UNIQUE (synopsis, description, home_page, location_id, license_set_id);
+
+COMMIT;