Update "storage" console command
add support to move data in 'attach' table
This commit is contained in:
parent
651834f7d1
commit
24d7ffa3fe
3 changed files with 21 additions and 5 deletions
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue