diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sql/migration/005-bundle-patch-ordering.sql | 12 |
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; |