Update "storage" console command

add support to move data in 'attach' table
This commit is contained in:
fabrixxm 2019-01-03 22:35:46 +01:00 committed by Hypolite Petovan
parent 651834f7d1
commit 24d7ffa3fe
3 changed files with 21 additions and 5 deletions

View file

@ -19,9 +19,18 @@ class Storage extends \Asika\SimpleConsole\Console
console storage - manage storage backend and stored data console storage - manage storage backend and stored data
Synopsis Synopsis
bin/console storage [-h|--help|-?] [-v] bin/console storage [-h|--help|-?] [-v]
Show this help
bin/console storage list bin/console storage list
List avaiable storage backends
bin/console storage set <name> 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; HELP;
return $help; return $help;
} }
@ -105,9 +114,16 @@ HELP;
protected function do_move() protected function do_move()
{ {
if (count($this->args) !== 1) { $table = null;
if (count($this->args) < 1 || count($this->args) > 2) {
throw new CommandArgsException('Invalid arguments'); 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(); $current = StorageManager::getBackend();
$r = StorageManager::move($current); $r = StorageManager::move($current);

View file

@ -110,7 +110,7 @@ class StorageManager
* This method cannot move to legacy in-table `data` field. * This method cannot move to legacy in-table `data` field.
* *
* @param string $dest Destination storage class name * @param string $dest Destination storage class name
* @param array $tables Tables to look in for resources. Optional, defaults to ['photo'] * @param array $tables Tables to look in for resources. Optional, defaults to ['photo', 'attach']
* *
* @retur int Number of moved resources * @retur int Number of moved resources
*/ */
@ -121,7 +121,7 @@ class StorageManager
} }
if (is_null($tables)) { if (is_null($tables)) {
$tables = ['photo']; $tables = ['photo', 'attach'];
} }
$moved = 0; $moved = 0;