]> git.ozlabs.org Git - patchwork/blob - lib/sql/migration/005-bundle-patch-ordering.sql
Normalise order numbers in bundle-ordering migration SQL
[patchwork] / lib / sql / migration / 005-bundle-patch-ordering.sql
1 BEGIN;
2 ALTER TABLE patchwork_bundle_patches RENAME TO patchwork_bundlepatch;
3 CREATE SEQUENCE bundlepatch_tmp_seq;
4
5 ALTER TABLE patchwork_bundlepatch
6         ADD COLUMN "order" INTEGER NOT NULL
7                 DEFAULT nextval('bundlepatch_tmp_seq');
8 ALTER TABLE patchwork_bundlepatch ALTER COLUMN "order" DROP DEFAULT;
9 DROP SEQUENCE bundlepatch_tmp_seq;
10 ALTER TABLE patchwork_bundlepatch ADD UNIQUE("bundle_id", "order");
11 UPDATE patchwork_bundlepatch SET "order" = 1 + "order" -
12         (SELECT min("order") FROM patchwork_bundlepatch AS p2
13                 WHERE p2.bundle_id = patchwork_bundlepatch.bundle_id);
14 COMMIT;