]> git.ozlabs.org Git - patchwork/blobdiff - lib/sql/migration/005-bundle-patch-ordering.sql
Complete bundle ordering migration script
[patchwork] / lib / sql / migration / 005-bundle-patch-ordering.sql
index 9f5bcf3675807b18686491f8ec93d30faa32a7a5..e0db398e1ee3add1e2f3fb896a1bd7a8ab6a94ac 100644 (file)
@@ -1,9 +1,11 @@
 BEGIN;
 ALTER TABLE patchwork_bundle_patches RENAME TO patchwork_bundlepatch;
-ALTER TABLE patchwork_bundlepatch ADD COLUMN "order" INTEGER NULL;
-UPDATE patchwork_bundlepatch SET "order" =
-    (SELECT COALESCE(max("order"), 0) + 1 FROM patchwork_bundlepatch AS p2
-        WHERE p2.bundle_id = patchwork_bundlepatch.bundle_id);
-ALTER TABLE patchwork_bundlepatch ALTER COLUMN "order" SET NOT NULL;
+CREATE SEQUENCE bundlepatch_tmp_seq;
+
+ALTER TABLE patchwork_bundlepatch
+       ADD COLUMN "order" INTEGER NOT NULL
+               DEFAULT nextval('bundlepatch_tmp_seq');
+ALTER TABLE patchwork_bundlepatch ALTER COLUMN "order" DROP DEFAULT;
+DROP SEQUENCE bundlepatch_tmp_seq;
 ALTER TABLE patchwork_bundlepatch ADD UNIQUE("bundle_id", "order");
 COMMIT;