diff --git a/src/Migration/Destinations/Appwrite.php b/src/Migration/Destinations/Appwrite.php index f6c89809..d816c1ad 100644 --- a/src/Migration/Destinations/Appwrite.php +++ b/src/Migration/Destinations/Appwrite.php @@ -1335,7 +1335,7 @@ private function syncVectorDimension(Column|Attribute $resource, string $type, U return; } - if ((int) $table->getAttribute('dimension', 0) === $resource->getSize()) { + if ((int) $table->getAttribute('dimension', 0) !== 0) { return; } diff --git a/src/Migration/Resources/Database/Collection.php b/src/Migration/Resources/Database/Collection.php index 25dedf93..46a433e3 100644 --- a/src/Migration/Resources/Database/Collection.php +++ b/src/Migration/Resources/Database/Collection.php @@ -72,8 +72,12 @@ public function setDimension(?int $dimension): self */ public function jsonSerialize(): array { - return array_merge(parent::jsonSerialize(), [ - 'dimension' => $this->dimension, - ]); + $data = parent::jsonSerialize(); + + if ($this->dimension !== null) { + $data['dimension'] = $this->dimension; + } + + return $data; } } diff --git a/tests/Migration/Unit/Resources/CollectionTest.php b/tests/Migration/Unit/Resources/CollectionTest.php index f89ed938..faa4edc3 100644 --- a/tests/Migration/Unit/Resources/CollectionTest.php +++ b/tests/Migration/Unit/Resources/CollectionTest.php @@ -53,6 +53,6 @@ public function testDimensionDefaultsToNull(): void ]); $this->assertNull($collection->getDimension()); - $this->assertNull($collection->jsonSerialize()['dimension']); + $this->assertArrayNotHasKey('dimension', $collection->jsonSerialize()); } }