From: Bill Erickson Date: Mon, 24 Aug 2015 19:55:40 +0000 (-0400) Subject: JBAS-837 sqitch revert sanity checks X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=9134bd67c9b356d1bcd0a07141e112077c0e9d94;p=working%2FEvergreen.git JBAS-837 sqitch revert sanity checks 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 --- diff --git a/KCLS/sql/sample-data/sqitch.conf b/KCLS/sql/sample-data/sqitch.conf index cac9ed349d..75045a58f7 100644 --- a/KCLS/sql/sample-data/sqitch.conf +++ b/KCLS/sql/sample-data/sqitch.conf @@ -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 diff --git a/KCLS/sql/schema/revert/01.2.4.1-2.5.7-deps.sql b/KCLS/sql/schema/revert/01.2.4.1-2.5.7-deps.sql index c9fe53abcc..f2e3cfe39b 100644 --- a/KCLS/sql/schema/revert/01.2.4.1-2.5.7-deps.sql +++ b/KCLS/sql/schema/revert/01.2.4.1-2.5.7-deps.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add DDLs here. +-- NO REVERT FOR PRE-SQITCH DEPLOYMENTS COMMIT; diff --git a/KCLS/sql/schema/revert/01.2.4.1-2.5.7-upgrade.sql b/KCLS/sql/schema/revert/01.2.4.1-2.5.7-upgrade.sql index c45c8a11f6..56899e284a 100644 --- a/KCLS/sql/schema/revert/01.2.4.1-2.5.7-upgrade.sql +++ b/KCLS/sql/schema/revert/01.2.4.1-2.5.7-upgrade.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add DDLs here. +-- NO REVERT FOR PRE-SQITCH DEPLOYMENTS COMMIT; diff --git a/KCLS/sql/schema/revert/02.collection-hq-items-2.5.sql b/KCLS/sql/schema/revert/02.collection-hq-items-2.5.sql index 03363fd644..7d72e96bf4 100644 --- a/KCLS/sql/schema/revert/02.collection-hq-items-2.5.sql +++ b/KCLS/sql/schema/revert/02.collection-hq-items-2.5.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add DDLs here. +-- NO REVERT FOR PRE-SQITCH DEPLOYMENTS COMMIT; diff --git a/KCLS/sql/schema/revert/KMAIN-1765-reingest-causing-false-browse-headings.sql b/KCLS/sql/schema/revert/KMAIN-1765-reingest-causing-false-browse-headings.sql index 0bc0518052..ff85accb6c 100644 --- a/KCLS/sql/schema/revert/KMAIN-1765-reingest-causing-false-browse-headings.sql +++ b/KCLS/sql/schema/revert/KMAIN-1765-reingest-causing-false-browse-headings.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add DDLs here. +-- NO REVERT FOR PRE-SQITCH DEPLOYMENTS COMMIT; diff --git a/KCLS/sql/schema/revert/KMAIN_1448_Bug_from_KMAIN_268.sql b/KCLS/sql/schema/revert/KMAIN_1448_Bug_from_KMAIN_268.sql index b5024d867e..6dae64d392 100644 --- a/KCLS/sql/schema/revert/KMAIN_1448_Bug_from_KMAIN_268.sql +++ b/KCLS/sql/schema/revert/KMAIN_1448_Bug_from_KMAIN_268.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add DDLs here. +-- NO REVERT FOR PRE-SQITCH DEPLOYMENTS COMMIT; diff --git a/KCLS/sql/schema/revert/KMAIN_1729_Bug_from_KMAIN_268.sql b/KCLS/sql/schema/revert/KMAIN_1729_Bug_from_KMAIN_268.sql index 2d53f798ea..55b3d20283 100644 --- a/KCLS/sql/schema/revert/KMAIN_1729_Bug_from_KMAIN_268.sql +++ b/KCLS/sql/schema/revert/KMAIN_1729_Bug_from_KMAIN_268.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add DDLs here. +-- NO REVERT FOR PRE-SQITCH DEPLOYMENTS COMMIT; diff --git a/KCLS/sql/schema/revert/kcls-2.4-base-prod.sql b/KCLS/sql/schema/revert/kcls-2.4-base-prod.sql index f1269730b8..a3178af9f9 100644 --- a/KCLS/sql/schema/revert/kcls-2.4-base-prod.sql +++ b/KCLS/sql/schema/revert/kcls-2.4-base-prod.sql @@ -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; diff --git a/KCLS/sql/schema/sqitch.conf b/KCLS/sql/schema/sqitch.conf index cac9ed349d..75045a58f7 100644 --- a/KCLS/sql/schema/sqitch.conf +++ b/KCLS/sql/schema/sqitch.conf @@ -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 diff --git a/KCLS/sql/schema/verify/01.2.4.1-2.5.7-deps.sql b/KCLS/sql/schema/verify/01.2.4.1-2.5.7-deps.sql index edca31b5d9..32af8ac284 100644 --- a/KCLS/sql/schema/verify/01.2.4.1-2.5.7-deps.sql +++ b/KCLS/sql/schema/verify/01.2.4.1-2.5.7-deps.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add verifications here. +-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS ROLLBACK; diff --git a/KCLS/sql/schema/verify/01.2.4.1-2.5.7-upgrade.sql b/KCLS/sql/schema/verify/01.2.4.1-2.5.7-upgrade.sql index e5099bb352..c2e33bc16e 100644 --- a/KCLS/sql/schema/verify/01.2.4.1-2.5.7-upgrade.sql +++ b/KCLS/sql/schema/verify/01.2.4.1-2.5.7-upgrade.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add verifications here. +-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS ROLLBACK; diff --git a/KCLS/sql/schema/verify/02.collection-hq-items-2.5.sql b/KCLS/sql/schema/verify/02.collection-hq-items-2.5.sql index 5656516b23..55dc62a775 100644 --- a/KCLS/sql/schema/verify/02.collection-hq-items-2.5.sql +++ b/KCLS/sql/schema/verify/02.collection-hq-items-2.5.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add verifications here. +-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS ROLLBACK; diff --git a/KCLS/sql/schema/verify/KMAIN-1765-reingest-causing-false-browse-headings.sql b/KCLS/sql/schema/verify/KMAIN-1765-reingest-causing-false-browse-headings.sql index a1267be765..3778ace173 100644 --- a/KCLS/sql/schema/verify/KMAIN-1765-reingest-causing-false-browse-headings.sql +++ b/KCLS/sql/schema/verify/KMAIN-1765-reingest-causing-false-browse-headings.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add verifications here. +-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS ROLLBACK; diff --git a/KCLS/sql/schema/verify/KMAIN_1448_Bug_from_KMAIN_268.sql b/KCLS/sql/schema/verify/KMAIN_1448_Bug_from_KMAIN_268.sql index 40126e6203..aba3bff51f 100644 --- a/KCLS/sql/schema/verify/KMAIN_1448_Bug_from_KMAIN_268.sql +++ b/KCLS/sql/schema/verify/KMAIN_1448_Bug_from_KMAIN_268.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add verifications here. +-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS ROLLBACK; diff --git a/KCLS/sql/schema/verify/KMAIN_1729_Bug_from_KMAIN_268.sql b/KCLS/sql/schema/verify/KMAIN_1729_Bug_from_KMAIN_268.sql index 4a36bf58e1..45d6793948 100644 --- a/KCLS/sql/schema/verify/KMAIN_1729_Bug_from_KMAIN_268.sql +++ b/KCLS/sql/schema/verify/KMAIN_1729_Bug_from_KMAIN_268.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add verifications here. +-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS ROLLBACK; diff --git a/KCLS/sql/schema/verify/kcls-2.4-base-prod.sql b/KCLS/sql/schema/verify/kcls-2.4-base-prod.sql index 481ef3fe47..ae478f33da 100644 --- a/KCLS/sql/schema/verify/kcls-2.4-base-prod.sql +++ b/KCLS/sql/schema/verify/kcls-2.4-base-prod.sql @@ -2,6 +2,6 @@ BEGIN; --- XXX Add verifications here. +-- NO VERIFY FOR PRE-SQITCH DEPLOYMENTS ROLLBACK;