X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FConsole%2FDatabaseStructure.php;h=47e6af5eb1f508efa63a41d6ffca59e3c0c7cff0;hb=24d7ffa3fee7e3686589f29f005fb2c419c9985a;hp=eb4c6df99837dcf4bac1ded841b8b82ba179007f;hpb=0700452c498297603a09a37b927ca12bff19836f;p=friendica.git diff --git a/src/Core/Console/DatabaseStructure.php b/src/Core/Console/DatabaseStructure.php index eb4c6df998..47e6af5eb1 100644 --- a/src/Core/Console/DatabaseStructure.php +++ b/src/Core/Console/DatabaseStructure.php @@ -3,15 +3,15 @@ namespace Friendica\Core\Console; use Friendica\Core; +use Friendica\Core\Update; +use Friendica\Database\DBA; use Friendica\Database\DBStructure; - -require_once 'boot.php'; -require_once 'include/dba.php'; +use RuntimeException; /** - * @brief Does database updates from the command line + * @brief Performs database updates from the command line * - * @author Hypolite Petovan + * @author Hypolite Petovan */ class DatabaseStructure extends \Asika\SimpleConsole\Console { @@ -20,9 +20,9 @@ class DatabaseStructure extends \Asika\SimpleConsole\Console protected function getHelp() { $help = << [-h|--help|-?] [-v] + bin/console dbstructure [-h|--help|-?] |-f|--force] [-v] Commands dryrun Show database update schema queries without running them @@ -33,14 +33,13 @@ Commands Options -h|--help|-? Show help information -v Show more debug information. + -f|--force Force the command in case of "update" (Ignore failed updates/running updates) HELP; return $help; } protected function doExecute() { - $a = get_app(); - if ($this->getOption('v')) { $this->out('Class: ' . __CLASS__); $this->out('Arguments: ' . var_export($this->args, true)); @@ -56,12 +55,8 @@ HELP; throw new \Asika\SimpleConsole\CommandArgsException('Too many arguments'); } - require_once '.htconfig.php'; - $result = \dba::connect($db_host, $db_user, $db_pass, $db_data); - unset($db_host, $db_user, $db_pass, $db_data); - - if (!$result) { - throw new \RuntimeException('Unable to connect to database'); + if (!DBA::connected()) { + throw new RuntimeException('Unable to connect to database'); } Core\Config::load(); @@ -71,26 +66,8 @@ HELP; $output = DBStructure::update(true, false); break; case "update": - $output = DBStructure::update(true, true); - - $build = Core\Config::get('system', 'build'); - if (empty($build)) { - Core\Config::set('system', 'build', DB_UPDATE_VERSION); - $build = DB_UPDATE_VERSION; - } - - $stored = intval($build); - $current = intval(DB_UPDATE_VERSION); - - // run any left update_nnnn functions in update.php - for ($x = $stored; $x < $current; $x ++) { - $r = run_update_function($x); - if (!$r) { - break; - } - } - - Core\Config::set('system', 'build', DB_UPDATE_VERSION); + $force = $this->getOption(['f', 'force'], false); + $output = Update::run($force, true, false); break; case "dumpsql": ob_start();