migrations: split 000054 into separate migrations

000054 is split into the following into 3 separate migrations, so that
the unique index can be added concurrently.

If migration 000054 has already been applied, running these migrations
should have no effect.

Change-Id: I39d16ca3b9c19d62f91bfb6f58af7a0121a4fa6d
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/283173
Trust: Julie Qiu <julie@golang.org>
Run-TryBot: Julie Qiu <julie@golang.org>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/migrations/000054_add_units_id_module_id_unique.down.sql b/migrations/000054_add_path_id_not_null.down.sql
similarity index 66%
copy from migrations/000054_add_units_id_module_id_unique.down.sql
copy to migrations/000054_add_path_id_not_null.down.sql
index 3ccc36d..d0a5371 100644
--- a/migrations/000054_add_units_id_module_id_unique.down.sql
+++ b/migrations/000054_add_path_id_not_null.down.sql
@@ -4,8 +4,6 @@
 
 BEGIN;
 
-ALTER TABLE units DROP CONSTRAINT units_path_id_module_id_key;
 ALTER TABLE units ALTER COLUMN path_id DROP NOT NULL;
-ALTER TABLE units ALTER COLUMN path ADD NOT NULL;
 
 END;
diff --git a/migrations/000054_add_units_id_module_id_unique.up.sql b/migrations/000054_add_path_id_not_null.up.sql
similarity index 61%
rename from migrations/000054_add_units_id_module_id_unique.up.sql
rename to migrations/000054_add_path_id_not_null.up.sql
index 4c879c1..60bd19e 100644
--- a/migrations/000054_add_units_id_module_id_unique.up.sql
+++ b/migrations/000054_add_path_id_not_null.up.sql
@@ -5,7 +5,5 @@
 BEGIN;
 
 ALTER TABLE units ALTER COLUMN path_id SET NOT NULL;
-ALTER TABLE units ADD CONSTRAINT units_path_id_module_id_key UNIQUE(path_id, module_id);
-ALTER TABLE units ALTER COLUMN path DROP NOT NULL;
 
 END;
diff --git a/migrations/000054_add_units_id_module_id_unique.down.sql b/migrations/000055_add_units_id_module_id_unique.down.sql
similarity index 69%
rename from migrations/000054_add_units_id_module_id_unique.down.sql
rename to migrations/000055_add_units_id_module_id_unique.down.sql
index 3ccc36d..4205972 100644
--- a/migrations/000054_add_units_id_module_id_unique.down.sql
+++ b/migrations/000055_add_units_id_module_id_unique.down.sql
@@ -5,7 +5,5 @@
 BEGIN;
 
 ALTER TABLE units DROP CONSTRAINT units_path_id_module_id_key;
-ALTER TABLE units ALTER COLUMN path_id DROP NOT NULL;
-ALTER TABLE units ALTER COLUMN path ADD NOT NULL;
 
 END;
diff --git a/migrations/000055_add_units_id_module_id_unique.up.sql b/migrations/000055_add_units_id_module_id_unique.up.sql
new file mode 100644
index 0000000..039505c
--- /dev/null
+++ b/migrations/000055_add_units_id_module_id_unique.up.sql
@@ -0,0 +1,5 @@
+-- Copyright 2021 The Go Authors. All rights reserved.
+-- Use of this source code is governed by a BSD-style
+-- license that can be found in the LICENSE file.
+
+CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS units_path_id_module_id_key ON units(path_id, module_id);
diff --git a/migrations/000054_add_units_id_module_id_unique.down.sql b/migrations/000056_drop_units_path_not_null.down.sql
similarity index 65%
copy from migrations/000054_add_units_id_module_id_unique.down.sql
copy to migrations/000056_drop_units_path_not_null.down.sql
index 3ccc36d..ed2039f 100644
--- a/migrations/000054_add_units_id_module_id_unique.down.sql
+++ b/migrations/000056_drop_units_path_not_null.down.sql
@@ -4,8 +4,6 @@
 
 BEGIN;
 
-ALTER TABLE units DROP CONSTRAINT units_path_id_module_id_key;
-ALTER TABLE units ALTER COLUMN path_id DROP NOT NULL;
 ALTER TABLE units ALTER COLUMN path ADD NOT NULL;
 
 END;
diff --git a/migrations/000054_add_units_id_module_id_unique.up.sql b/migrations/000056_drop_units_path_not_null.up.sql
similarity index 61%
copy from migrations/000054_add_units_id_module_id_unique.up.sql
copy to migrations/000056_drop_units_path_not_null.up.sql
index 4c879c1..9e62a01 100644
--- a/migrations/000054_add_units_id_module_id_unique.up.sql
+++ b/migrations/000056_drop_units_path_not_null.up.sql
@@ -4,8 +4,6 @@
 
 BEGIN;
 
-ALTER TABLE units ALTER COLUMN path_id SET NOT NULL;
-ALTER TABLE units ADD CONSTRAINT units_path_id_module_id_key UNIQUE(path_id, module_id);
 ALTER TABLE units ALTER COLUMN path DROP NOT NULL;
 
 END;