JBAS-837 sqitch revert sanity checks
authorBill Erickson <berickxx@gmail.com>
Mon, 24 Aug 2015 19:55:40 +0000 (15:55 -0400)
committerBill Erickson <berickxx@gmail.com>
Thu, 21 Mar 2019 19:46:23 +0000 (15:46 -0400)
1. Revert only the most recent change during deployment failures by
   default (sqitch deploy --mode change).  This can be overridden at the
   command line.

2. Clear the contents of revert/kcls-2.4-base-prod.sql so that under no
   circumstances can the base schema be reverted.

3. Document revert and verify scripts to indicate that the contents are
   intentially empty for pre-sqitch deployments.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
16 files changed:
KCLS/sql/sample-data/sqitch.conf
KCLS/sql/schema/revert/01.2.4.1-2.5.7-deps.sql
KCLS/sql/schema/revert/01.2.4.1-2.5.7-upgrade.sql
KCLS/sql/schema/revert/02.collection-hq-items-2.5.sql
KCLS/sql/schema/revert/KMAIN-1765-reingest-causing-false-browse-headings.sql
KCLS/sql/schema/revert/KMAIN_1448_Bug_from_KMAIN_268.sql
KCLS/sql/schema/revert/KMAIN_1729_Bug_from_KMAIN_268.sql
KCLS/sql/schema/revert/kcls-2.4-base-prod.sql
KCLS/sql/schema/sqitch.conf
KCLS/sql/schema/verify/01.2.4.1-2.5.7-deps.sql
KCLS/sql/schema/verify/01.2.4.1-2.5.7-upgrade.sql
KCLS/sql/schema/verify/02.collection-hq-items-2.5.sql
KCLS/sql/schema/verify/KMAIN-1765-reingest-causing-false-browse-headings.sql
KCLS/sql/schema/verify/KMAIN_1448_Bug_from_KMAIN_268.sql
KCLS/sql/schema/verify/KMAIN_1729_Bug_from_KMAIN_268.sql
KCLS/sql/schema/verify/kcls-2.4-base-prod.sql

index cac9ed3..75045a5 100644 (file)
@@ -1,16 +1,14 @@
 [core]
     engine = pg
-    # plan_file = sqitch.plan
-    # top_dir = .
-    # deploy_dir = deploy
-    # revert_dir = revert
-    # verify_dir = verify
-    # extension = sql
 [target "evergreen"]
+    # override at run time with --db-user and/or --db-host
     uri = postgresql://evergreen@localhost/evergreen
 [engine "pg"]
     target = evergreen
 [deploy]
     verify = true
+    # only revert the last (failed) change by default.
+    # this helps avoid an unintended chain reaction of reverts.
+    mode = change
 [rebase]
     verify = true
index c9fe53a..f2e3cfe 100644 (file)
@@ -2,6 +2,6 @@
 
 BEGIN;
 
--- XXX Add DDLs here.
+-- NO REVERT FOR PRE-SQITCH DEPLOYMENTS
 
 COMMIT;
index c45c8a1..56899e2 100644 (file)
@@ -2,6 +2,6 @@
 
 BEGIN;
 
--- XXX Add DDLs here.
+-- NO REVERT FOR PRE-SQITCH DEPLOYMENTS
 
 COMMIT;
index 03363fd..7d72e96 100644 (file)
@@ -2,6 +2,6 @@
 
 BEGIN;
 
--- XXX Add DDLs here.
+-- NO REVERT FOR PRE-SQITCH DEPLOYMENTS
 
 COMMIT;
index f126973..a3178af 100644 (file)
@@ -2,70 +2,7 @@
 
 BEGIN;
 
--- Drop schemas
+-- NO REVERT FOR BASE SCHEMA!
+-- If you need to revert to the beginning, dropdb and start over.
 
-DROP SCHEMA public CASCADE;
-CREATE SCHEMA public;
-DROP SCHEMA acq CASCADE;
-DROP SCHEMA action CASCADE;
-DROP SCHEMA action_trigger CASCADE;
-DROP SCHEMA actor CASCADE;
-DROP SCHEMA asset CASCADE;
-DROP SCHEMA auditor CASCADE;
-DROP SCHEMA authority CASCADE;
-DROP SCHEMA biblio CASCADE;
-DROP SCHEMA booking CASCADE;
-DROP SCHEMA cmd CASCADE;
-DROP SCHEMA collectionhq CASCADE;
-DROP SCHEMA config CASCADE;
-DROP SCHEMA container CASCADE;
-DROP SCHEMA envisionware CASCADE;
-DROP SCHEMA esi CASCADE;
-DROP SCHEMA esi16538 CASCADE;
-DROP SCHEMA esi_14812 CASCADE;
-DROP SCHEMA evergreen CASCADE;
-DROP SCHEMA extend_reporter CASCADE;
-DROP SCHEMA m_enum CASCADE;
-DROP SCHEMA m_kcls CASCADE;
-DROP SCHEMA m_kcls2 CASCADE;
-DROP SCHEMA m_kcls3 CASCADE;
-DROP SCHEMA m_kcls_call_fix CASCADE;
-DROP SCHEMA m_kcls_circhist CASCADE;
-DROP SCHEMA m_kcls_gap CASCADE;
-DROP SCHEMA m_kcls_holds CASCADE;
-DROP SCHEMA m_kcls_holdsall CASCADE;
-DROP SCHEMA m_kcls_holdsall2 CASCADE;
-DROP SCHEMA m_kcls_holdsall3 CASCADE;
-DROP SCHEMA m_kcls_holdsfix CASCADE;
-DROP SCHEMA m_kcls_items2 CASCADE;
-DROP SCHEMA m_kcls_items3 CASCADE;
-DROP SCHEMA m_kcls_ord CASCADE;
-DROP SCHEMA m_kcls_ord2 CASCADE;
-DROP SCHEMA m_kcls_ord3 CASCADE;
-DROP SCHEMA m_kcls_xfr CASCADE;
-DROP SCHEMA m_test CASCADE;
-DROP SCHEMA metabib CASCADE;
-DROP SCHEMA migration_tools CASCADE;
-DROP SCHEMA money CASCADE;
-DROP SCHEMA offline CASCADE;
-DROP SCHEMA permission CASCADE;
-DROP SCHEMA prod_staff_users CASCADE;
-DROP SCHEMA query CASCADE;
-DROP SCHEMA reporter CASCADE;
-DROP SCHEMA search CASCADE;
-DROP SCHEMA serial CASCADE;
-DROP SCHEMA sip_temp CASCADE;
-DROP SCHEMA staging CASCADE;
-DROP SCHEMA stats CASCADE;
-DROP SCHEMA unapi CASCADE;
-DROP SCHEMA url_verify CASCADE;
-DROP SCHEMA vandelay CASCADE;
-
--- Drop users
-
-DROP USER bbonner;
-DROP USER biblio;
-DROP USER kclsreporter;
-DROP USER kclsreporter2;
-
-COMMIT;
\ No newline at end of file
+COMMIT;
index cac9ed3..75045a5 100644 (file)
@@ -1,16 +1,14 @@
 [core]
     engine = pg
-    # plan_file = sqitch.plan
-    # top_dir = .
-    # deploy_dir = deploy
-    # revert_dir = revert
-    # verify_dir = verify
-    # extension = sql
 [target "evergreen"]
+    # override at run time with --db-user and/or --db-host
     uri = postgresql://evergreen@localhost/evergreen
 [engine "pg"]
     target = evergreen
 [deploy]
     verify = true
+    # only revert the last (failed) change by default.
+    # this helps avoid an unintended chain reaction of reverts.
+    mode = change
 [rebase]
     verify = true
index edca31b..32af8ac 100644 (file)
@@ -2,6 +2,6 @@
 
 BEGIN;
 
--- XXX Add verifications here.
+-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS
 
 ROLLBACK;
index e5099bb..c2e33bc 100644 (file)
@@ -2,6 +2,6 @@
 
 BEGIN;
 
--- XXX Add verifications here.
+-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS
 
 ROLLBACK;
index 5656516..55dc62a 100644 (file)
@@ -2,6 +2,6 @@
 
 BEGIN;
 
--- XXX Add verifications here.
+-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS
 
 ROLLBACK;
index 40126e6..aba3bff 100644 (file)
@@ -2,6 +2,6 @@
 
 BEGIN;
 
--- XXX Add verifications here.
+-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS
 
 ROLLBACK;
index 4a36bf5..45d6793 100644 (file)
@@ -2,6 +2,6 @@
 
 BEGIN;
 
--- XXX Add verifications here.
+-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS
 
 ROLLBACK;
index 481ef3f..ae478f3 100644 (file)
@@ -2,6 +2,6 @@
 
 BEGIN;
 
--- XXX Add verifications here.
+-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS
 
 ROLLBACK;