diff options
author | Andrew Dolgov <[email protected]> | 2019-03-07 06:44:59 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2019-03-07 06:44:59 +0300 |
commit | e91223ec7d41cc15a24117fd42f3a00c87eee201 (patch) | |
tree | 033c9b12f3e6fc58c3889a4db1417a2d210ebe1e /update.php | |
parent | 91cfd9c391c9c243b9a9ead6ca856740f156a38e (diff) |
update CLI schema updater with newer warnings
Diffstat (limited to 'update.php')
-rwxr-xr-x | update.php | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/update.php b/update.php index 1dc2efd91..9526c839b 100755 --- a/update.php +++ b/update.php @@ -111,7 +111,7 @@ $schema_version = get_schema_version(); if ($schema_version != SCHEMA_VERSION) { - die("Schema version is wrong, please upgrade the database.\n"); + die("Schema version is wrong, please upgrade the database (--update-schema).\n"); } } @@ -326,20 +326,30 @@ if ($updater->isUpdateRequired()) { Debug::log("schema update required, version " . $updater->getSchemaVersion() . " to " . SCHEMA_VERSION); + + if (DB_TYPE == "mysql") + Debug::Log("READ THIS: Due to MySQL limitations, your database is not completely protected while updating.\n". + "Errors may put it in an inconsistent state requiring manual rollback.\nBACKUP YOUR DATABASE BEFORE CONTINUING."); + Debug::log("WARNING: please backup your database before continuing."); Debug::log("Type 'yes' to continue."); if (read_stdin() != 'yes') exit; + print "Performing updates to version " . SCHEMA_VERSION . "...\n"; + for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { - Debug::log("performing update up to version $i..."); + Debug::log(" * Updating to version $i..."); $result = $updater->performUpdateTo($i, false); - Debug::log($result ? "OK!" : "FAILED!"); - - if (!$result) return; + if ($result) { + print " * Completed."; + } else { + print "One of the updates failed. Either retry the process or perform updates manually."; + return; + } } } else { |