diff --git a/config/config.sample.php b/config/config.sample.php index cf4b25b0674e2db81222f56aa01391233607a4e9..88d1a294622dcba0e15a4f0111462136e98ea255 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -1140,6 +1140,15 @@ $CONFIG = array( */ 'debug' => false, +/** + * Skips the migration test during upgrades + * + * If this is set to true the migration test are deactivated during upgrade. + * This is only recommended in installations where upgrade tests are run in + * advance with the same data on a test system. + */ +'update.skip-migration-test' => false, + /** * This entry is just here to show a warning in case somebody copied the sample * configuration. DO NOT ADD THIS SWITCH TO YOUR CONFIGURATION! diff --git a/core/ajax/update.php b/core/ajax/update.php index ff18d2bc04b3b95651f16c24f4ce58f84d0d0dcc..11d159f15d1236a476c7d838d5fec8e29506388e 100644 --- a/core/ajax/update.php +++ b/core/ajax/update.php @@ -41,12 +41,21 @@ if (OC::checkUpgrade(false)) { // avoid side effects \OC_User::setIncognitoMode(true); + + $logger = \OC::$server->getLogger(); + $config = \OC::$server->getConfig(); $updater = new \OC\Updater( \OC::$server->getHTTPHelper(), - \OC::$server->getConfig(), + $config, $logger ); + + if ($config->getSystemValue('update.skip-migration-test', false)) { + $eventSource->send('success', (string)$l->t('Migration tests are skipped - "update.skip-migration-test" is activated in config.php')); + $updater->setSimulateStepEnabled(false); + } + $incompatibleApps = []; $disabledThirdPartyApps = []; diff --git a/core/command/upgrade.php b/core/command/upgrade.php index fa160d9a1c0e645d8c91fdacd227c866eb5038a5..f50a0d92479528033c31922c3f45f6f14fefaa1d 100644 --- a/core/command/upgrade.php +++ b/core/command/upgrade.php @@ -92,6 +92,12 @@ class Upgrade extends Command { $updateStepEnabled = true; $skip3rdPartyAppsDisable = false; + if ($this->config->getSystemValue('update.skip-migration-test', false)) { + $output->writeln( + '<info>"skip-migration-test" is activated via config.php</info>' + ); + $simulateStepEnabled = false; + } if ($input->getOption('skip-migration-test')) { $simulateStepEnabled = false; } @@ -119,7 +125,7 @@ class Upgrade extends Command { $self = $this; $updater = new Updater(\OC::$server->getHTTPHelper(), - \OC::$server->getConfig()); + $this->config); $updater->setSimulateStepEnabled($simulateStepEnabled); $updater->setUpdateStepEnabled($updateStepEnabled);