From 030cdf3cc8d588156b4e5481c533cdef56049fdc Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 1 Feb 2024 17:12:27 +0200 Subject: [PATCH] updates --- .gitmodules | 2 +- composer.json | 2 +- src/Appwrite/Migration/Version/V20.php | 27 ++++++++++++++----------- src/Appwrite/Platform/Tasks/Migrate.php | 1 + 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/.gitmodules b/.gitmodules index 0c2321bcfa..e259782156 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "app/console"] path = app/console url = https://github.com/appwrite/console - branch = 3.2.16 + branch = 1.5.x diff --git a/composer.json b/composer.json index b9d43a8227..b6951e9a43 100644 --- a/composer.json +++ b/composer.json @@ -56,7 +56,7 @@ "utopia-php/image": "0.6.*", "utopia-php/locale": "0.4.*", "utopia-php/logger": "0.3.*", - "utopia-php/messaging": "0.8.*", + "utopia-php/messaging": "0.9.*", "utopia-php/migration": "0.3.*", "utopia-php/orchestration": "0.9.*", "utopia-php/platform": "0.5.*", diff --git a/src/Appwrite/Migration/Version/V20.php b/src/Appwrite/Migration/Version/V20.php index b63722b4d1..30f1f4fab0 100644 --- a/src/Appwrite/Migration/Version/V20.php +++ b/src/Appwrite/Migration/Version/V20.php @@ -71,26 +71,29 @@ class V20 extends Migration 'console' => 'console', default => 'projects', }; + + $databases = $this->projectDB->find('databases', []); + foreach ($databases as $database) { + var_dump($database); + } + $collections = $this->collections[$collectionType]; foreach ($collections as $collection) { $id = $collection['$id']; Console::log("Migrating Collection \"{$id}\""); - $this->projectDB->setNamespace("_{$this->project->getInternalId()}"); - $modifiedAttr = []; + $this->projectDB->setNamespace("_$internalProjectId"); + + // Support database array type migration foreach ($collection['attributes'] ?? [] as $attribute) { - if ($attribute['type'] === 'string' && $attribute['array'] === true) { - $this->projectDB->updateAttribute($id, $attribute['$id']); - $modifiedAttr[] = $attribute['$id']; - } - } - if (!empty($modified)) { - foreach ($collection['indexes'] ?? [] as $index) { - $foundIndexes = array_intersect($modifiedAttr, $index['attributes']); - if ($foundIndexes) { - $this->projectDB->deleteIndex($id, $index['$id']); + if ($attribute['array'] === true) { + foreach ($collection['indexes'] ?? [] as $index) { + if (in_array($attribute['$id'], $index['attributes'])) { + $this->projectDB->deleteIndex($id, $index['$id']); + } } + $this->projectDB->updateAttribute($id, $attribute['$id'], Database::VAR_STRING); } } diff --git a/src/Appwrite/Platform/Tasks/Migrate.php b/src/Appwrite/Platform/Tasks/Migrate.php index 682b9b5559..ce37cbd8d4 100644 --- a/src/Appwrite/Platform/Tasks/Migrate.php +++ b/src/Appwrite/Platform/Tasks/Migrate.php @@ -93,6 +93,7 @@ class Migrate extends Action // TODO: Iterate through all project DBs /** @var Database $projectDB */ $projectDB = $getProjectDB($project); + var_dump($project); $migration ->setProject($project, $projectDB, $dbForConsole) ->setPDO($register->get('db', true))