summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/sql/migration/005-bundle-patch-ordering.sql12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/sql/migration/005-bundle-patch-ordering.sql b/lib/sql/migration/005-bundle-patch-ordering.sql
index 9f5bcf3..e0db398 100644
--- a/lib/sql/migration/005-bundle-patch-ordering.sql
+++ b/lib/sql/migration/005-bundle-patch-ordering.sql
@@ -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;