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;

View File

@ -224,7 +224,7 @@ class Attach extends BaseObject
$data = @file_get_contents($src); $data = @file_get_contents($src);
return self::store($data, $uid, $filename, '', null, $allow_cid, $allow_gid, $deny_cid, $deny_gid); return self::store($data, $uid, $filename, '', null, $allow_cid, $allow_gid, $deny_cid, $deny_gid);
} }