update CLI schema updater with newer warnings

This commit is contained in:
Andrew Dolgov 2019-03-07 06:44:59 +03:00
parent 91cfd9c391
commit e91223ec7d
3 changed files with 17 additions and 7 deletions

View File

@ -45,7 +45,7 @@ class DbUpdater {
if ($html_output) if ($html_output)
print "<pre>$line</pre>"; print "<pre>$line</pre>";
else else
print "\t$line\n"; print " * $line\n";
if (strpos($line, "--") !== 0 && $line) { if (strpos($line, "--") !== 0 && $line) {
try { try {

View File

@ -1133,7 +1133,7 @@ class Handler_Public extends Handler {
if ($op == "performupdate") { if ($op == "performupdate") {
if ($updater->isUpdateRequired()) { if ($updater->isUpdateRequired()) {
print "<h2>" . T_sprintf("Performing updates to schema version %d", SCHEMA_VERSION) . "</h2>"; print "<h2>" . T_sprintf("Performing updates to version %d", SCHEMA_VERSION) . "</h2>";
for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) {
print "<ul>"; print "<ul>";

View File

@ -111,7 +111,7 @@
$schema_version = get_schema_version(); $schema_version = get_schema_version();
if ($schema_version != 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()) { if ($updater->isUpdateRequired()) {
Debug::log("schema update required, version " . $updater->getSchemaVersion() . " to " . SCHEMA_VERSION); 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("WARNING: please backup your database before continuing.");
Debug::log("Type 'yes' to continue."); Debug::log("Type 'yes' to continue.");
if (read_stdin() != 'yes') if (read_stdin() != 'yes')
exit; exit;
print "Performing updates to version " . SCHEMA_VERSION . "...\n";
for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { 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); $result = $updater->performUpdateTo($i, false);
Debug::log($result ? "OK!" : "FAILED!"); if ($result) {
print " * Completed.";
if (!$result) return; } else {
print "One of the updates failed. Either retry the process or perform updates manually.";
return;
}
} }
} else { } else {