Avoid duplicate build status entries
This effectively makes adding build status entries idempotent to some degree.
This commit is contained in:
parent
9192550331
commit
5ee8207565
5 changed files with 36 additions and 1 deletions
18
sqitch/deploy/build_status_add_unique_index.sql
Normal file
18
sqitch/deploy/build_status_add_unique_index.sql
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
-- Deploy guix-data-service:build_status_add_unique_index to pg
|
||||
|
||||
BEGIN;
|
||||
|
||||
DELETE FROM build_status
|
||||
WHERE id NOT IN (
|
||||
SELECT MIN(id) FROM build_status GROUP BY build_id, timestamp, status
|
||||
);
|
||||
|
||||
ALTER TABLE build_status
|
||||
ADD CONSTRAINT build_status_build_id_timestamp_status_unique
|
||||
UNIQUE (build_id, timestamp, status);
|
||||
|
||||
CREATE UNIQUE INDEX build_status_build_id_status_unique_idx
|
||||
ON build_status (build_id, status)
|
||||
WHERE timestamp IS NULL;
|
||||
|
||||
COMMIT;
|
||||
Loading…
Add table
Add a link
Reference in a new issue