X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FConsole%2FDatabaseStructure.php;h=1ec108d2e61cfd2f0d5d2fc07502b733ba3843b3;hb=3aa77685fcccff9739384136b4894de43200fa8c;hp=4b607c1e6a36918c07d1957536c9c1da36dedd37;hpb=1fa37586caa351b3bdb44920649ba0fa90c36bd0;p=friendica.git diff --git a/src/Core/Console/DatabaseStructure.php b/src/Core/Console/DatabaseStructure.php index 4b607c1e6a..1ec108d2e6 100644 --- a/src/Core/Console/DatabaseStructure.php +++ b/src/Core/Console/DatabaseStructure.php @@ -3,13 +3,11 @@ namespace Friendica\Core\Console; use Friendica\Core; +use Friendica\Core\Update; use Friendica\Database\DBA; use Friendica\Database\DBStructure; use RuntimeException; -require_once 'boot.php'; -require_once 'include/dba.php'; - /** * @brief Performs database updates from the command line * @@ -24,7 +22,7 @@ class DatabaseStructure extends \Asika\SimpleConsole\Console $help = << [-h|--help|-?] [-v] + bin/console dbstructure [-h|--help|-?] |-f|--force] [-v] Commands dryrun Show database update schema queries without running them @@ -35,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)); @@ -64,43 +61,19 @@ HELP; Core\Config::load(); + $a = get_app(); + switch ($this->getArgument(0)) { case "dryrun": - $output = DBStructure::update(true, false); + $output = DBStructure::update($a->getBasePath(), true, false); break; case "update": - $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 the pre_update_nnnn functions in update.php - for ($x = $stored; $x < $current; $x ++) { - $r = run_update_function($x, 'pre_update'); - if (!$r) { - break; - } - } - - $output = DBStructure::update(true, true); - - // run the update_nnnn functions in update.php - for ($x = $stored; $x < $current; $x ++) { - $r = run_update_function($x, 'update'); - if (!$r) { - break; - } - } - - Core\Config::set('system', 'build', DB_UPDATE_VERSION); + $force = $this->getOption(['f', 'force'], false); + $output = Update::run($a->getBasePath(), $force, true, false); break; case "dumpsql": ob_start(); - DBStructure::printStructure(); + DBStructure::printStructure($a->getBasePath()); $output = ob_get_clean(); break; case "toinnodb": @@ -108,6 +81,8 @@ HELP; DBStructure::convertToInnoDB(); $output = ob_get_clean(); break; + default: + $output = 'Unknown command: ' . $this->getArgument(0); } $this->out($output);