console storage - manage storage backend and stored data
Synopsis
bin/console storage [-h|--help|-?] [-v]
+ Show this help
+
bin/console storage list
+ List available storage backends
+
bin/console storage set <name>
- bin/console storage move
+ Set current storage backend
+ name storage backend to use. see "list".
+
+ bin/console storage move [table]
+ Move stored data to current storage backend.
+ table one of "photo" or "attach". default to both
HELP;
return $help;
}
protected function doExecute()
{
- $a = \Friendica\BaseObject::getApp();
-
if ($this->getOption('v')) {
$this->out('Executable: ' . $this->executable);
$this->out('Class: ' . __CLASS__);
$name = $this->args[1];
$class = StorageManager::getByName($name);
- if ($class === "") {
+ if ($class === '') {
$this->out($name . ' is not a registered backend.');
return -1;
}
protected function do_move()
{
+ $table = null;
+ if (count($this->args) < 1 || count($this->args) > 2) {
+ throw new CommandArgsException('Invalid arguments');
+ }
+ if (count($this->args) == 2) {
+ $table = strtolower($this->args[1]);
+ if (!in_array($table, ['photo', 'attach'])) {
+ throw new CommandArgsException('Invalid table');
+ }
+ }
+ $current = StorageManager::getBackend();
+ $r = StorageManager::move($current);
+ $this->out(sprintf('Moved %d files', $r));
}
}