diff options
Diffstat (limited to 'sqitch/deploy/packages_replacement.sql')
-rw-r--r-- | sqitch/deploy/packages_replacement.sql | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sqitch/deploy/packages_replacement.sql b/sqitch/deploy/packages_replacement.sql new file mode 100644 index 0000000..95df32a --- /dev/null +++ b/sqitch/deploy/packages_replacement.sql @@ -0,0 +1,16 @@ +-- Deploy guix-data-service:packages_replacement to pg + +BEGIN; + +ALTER TABLE packages + ADD COLUMN replacement_package_id integer REFERENCES packages (id); + +ALTER TABLE packages DROP CONSTRAINT packages_pkey; +ALTER TABLE packages ADD PRIMARY KEY (id); + +CREATE UNIQUE INDEX packages_not_null_replacement_package_id_idx + ON packages (name, version, package_metadata_id, replacement_package_id); +CREATE UNIQUE INDEX packages_null_replacement_package_id_idx + ON packages (name, version, package_metadata_id) WHERE replacement_package_id IS NULL; + +COMMIT; |