By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Run persistent baseline phase in its own database
runSqitchPersistentChecks used to run the persistent baseline phase
(phase 1) and the sqitch deploy phase (phase 2) against the same
ConnectionPool, with a DROP/CREATE SCHEMA dance in between. Two
problems:
* If phase 1 leaves anything outside public/sqitch (extensions,
other schemas, dangling sequences) the wipe doesn't remove it and
phase 2's snapshot sees the leftovers.
* If phase 1 crashes partway, phase 2 inherits whatever state it
left behind.
Allocate a fresh ConnectionPool for phase 1 via
connectionPoolSetupFunc against the same TemplateDB. The freshly-copied
database is empty when phase 1 starts and torn down (DROP DATABASE
WITH FORCE) the moment the snapshot is captured. Phase 2 stays on the
caller's pool, exactly as before.
sqitchPersistentExtraSetup haddock updated to note that the two runs
now happen on different databases.