From 24d7ffa3fee7e3686589f29f005fb2c419c9985a Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Thu, 3 Jan 2019 22:35:46 +0100 Subject: [PATCH] Update "storage" console command add support to move data in 'attach' table --- src/Core/Console/Storage.php | 20 ++++++++++++++++++-- src/Core/StorageManager.php | 4 ++-- src/Model/Attach.php | 2 +- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/Core/Console/Storage.php b/src/Core/Console/Storage.php index 9334824e3..601019fa8 100644 --- a/src/Core/Console/Storage.php +++ b/src/Core/Console/Storage.php @@ -19,9 +19,18 @@ class Storage extends \Asika\SimpleConsole\Console console storage - manage storage backend and stored data Synopsis bin/console storage [-h|--help|-?] [-v] + Show this help + bin/console storage list + List avaiable storage backends + bin/console storage set - 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; } @@ -105,9 +114,16 @@ HELP; 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'); } + 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); diff --git a/src/Core/StorageManager.php b/src/Core/StorageManager.php index 8dd7654e6..43a72650c 100644 --- a/src/Core/StorageManager.php +++ b/src/Core/StorageManager.php @@ -110,7 +110,7 @@ class StorageManager * This method cannot move to legacy in-table `data` field. * * @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 */ @@ -121,7 +121,7 @@ class StorageManager } if (is_null($tables)) { - $tables = ['photo']; + $tables = ['photo', 'attach']; } $moved = 0; diff --git a/src/Model/Attach.php b/src/Model/Attach.php index 48b034e49..92c76d3d0 100644 --- a/src/Model/Attach.php +++ b/src/Model/Attach.php @@ -224,7 +224,7 @@ class Attach extends BaseObject $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); }