From c0fb0a5ec04c064bb848534185b51c5d1b7bdaaf Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 4 Mar 2021 08:30:52 +0300 Subject: wip for db_migrations for core schema --- update.php | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) (limited to 'update.php') diff --git a/update.php b/update.php index 94a6bb5ca..d19c5f823 100755 --- a/update.php +++ b/update.php @@ -145,10 +145,8 @@ require_once "errorhandler.php"; } - if (!isset($options['update-schema'])) { - if (Db_Updater::is_update_required()) { - die("Schema version is wrong, please upgrade the database (--update-schema).\n"); - } + if (!isset($options['update-schema']) && Config::is_migration_needed()) { + die("Schema version is wrong, please upgrade the database (--update-schema).\n"); } Debug::set_enabled(true); @@ -372,7 +370,32 @@ } if (isset($options["update-schema"])) { - Debug::log("Checking for updates (" . Config::get(Config::DB_TYPE) . ")..."); + if (Config::is_migration_needed()) { + + if ($options["update-schema"] != "force-yes") { + Debug::log("Type 'yes' to continue."); + + if (read_stdin() != 'yes') + exit; + } else { + Debug::log("Proceeding to update without confirmation..."); + } + + if (!isset($options["log-level"])) { + Debug::set_loglevel(Debug::$LOG_VERBOSE); + } + + $migrations = Config::get_migrations(); + + Debug::log("Migrating schema to version " . $migrations->get_max_version()); + + $migrations->migrate(); + + } else { + Debug::log("Database schema is already at latest version."); + } + + /*Debug::log("Checking for updates (" . Config::get(Config::DB_TYPE) . ")..."); $updater = new Db_Updater(Db::pdo(), Config::get(Config::DB_TYPE)); @@ -412,7 +435,7 @@ Debug::log("All done."); } else { Debug::log("Database schema is already at latest version."); - } + } */ } -- cgit v1.2.3