X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FConsole%2FDatabaseStructure.php;h=a1b4fdbfe8150b28a4d759e2e296ea33df2de822;hb=3f523a88b0af4e2a73b29917da33d221abef9647;hp=ca210064527af673f700cac9467dbd4396dfc108;hpb=e9f0c4dbfb4a7c8732e7c4408b10941ae9efa2c9;p=friendica.git diff --git a/src/Console/DatabaseStructure.php b/src/Console/DatabaseStructure.php index ca21006452..a1b4fdbfe8 100644 --- a/src/Console/DatabaseStructure.php +++ b/src/Console/DatabaseStructure.php @@ -1,17 +1,34 @@ . + * + */ namespace Friendica\Console; -use Friendica\Core\Config\Cache\ConfigCache; +use Friendica\Core\Config\Cache; use Friendica\Core\Update; use Friendica\Database\Database; use Friendica\Database\DBStructure; use RuntimeException; /** - * @brief Performs database updates from the command line - * - * @author Hypolite Petovan + * Performs database updates from the command line */ class DatabaseStructure extends \Asika\SimpleConsole\Console { @@ -22,7 +39,7 @@ class DatabaseStructure extends \Asika\SimpleConsole\Console */ private $dba; /** - * @var ConfigCache + * @var Cache */ private $configCache; @@ -37,7 +54,8 @@ Commands dryrun Show database update schema queries without running them update Update database schema dumpsql Dump database schema - toinnodb Convert all tables from MyISAM to InnoDB + toinnodb Convert all tables from MyISAM or InnoDB in the Antelope file format to InnoDB in the Barracuda file format + version Set the database to a given number Options -h|--help|-? Show help information @@ -48,7 +66,7 @@ HELP; return $help; } - public function __construct(Database $dba, ConfigCache $configCache, $argv = null) + public function __construct(Database $dba, Cache $configCache, $argv = null) { parent::__construct($argv); @@ -69,8 +87,10 @@ HELP; return 0; } - if (count($this->args) > 1) { + if ((count($this->args) > 1) && ($this->getArgument(0) != 'version')) { throw new \Asika\SimpleConsole\CommandArgsException('Too many arguments'); + } elseif ((count($this->args) != 2) && ($this->getArgument(0) == 'version')) { + throw new \Asika\SimpleConsole\CommandArgsException('This command needs two arguments'); } if (!$this->dba->isConnected()) { @@ -98,6 +118,12 @@ HELP; DBStructure::convertToInnoDB(); $output = ob_get_clean(); break; + case "version": + ob_start(); + DBStructure::setDatabaseVersion($this->getArgument(1)); + $output = ob_get_clean(); + break; + default: $output = 'Unknown command: ' . $this->getArgument(0); }