Skip to content

Commit 0d23921

Browse files
akr4mtaylorotwell
andauthored
[11.x] Support Optional Dimensions for vector Column Type (#53316)
* Allow `vector` column dimensions to be unspecified * Update Blueprint.php --------- Co-authored-by: Taylor Otwell <[email protected]>
1 parent 029e993 commit 0d23921

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

src/Illuminate/Database/Schema/Blueprint.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1456,12 +1456,14 @@ public function computed($column, $expression)
14561456
* Create a new vector column on the table.
14571457
*
14581458
* @param string $column
1459-
* @param int $dimensions
1459+
* @param int|null $dimensions
14601460
* @return \Illuminate\Database\Schema\ColumnDefinition
14611461
*/
1462-
public function vector($column, $dimensions)
1462+
public function vector($column, $dimensions = null)
14631463
{
1464-
return $this->addColumn('vector', $column, compact('dimensions'));
1464+
$options = $dimensions ? compact('dimensions') : [];
1465+
1466+
return $this->addColumn('vector', $column, $options);
14651467
}
14661468

14671469
/**

src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1128,7 +1128,9 @@ protected function typeComputed(Fluent $column)
11281128
*/
11291129
protected function typeVector(Fluent $column)
11301130
{
1131-
return "vector($column->dimensions)";
1131+
return isset($column->dimensions) && $column->dimensions !== ''
1132+
? "vector({$column->dimensions})"
1133+
: 'vector';
11321134
}
11331135

11341136
/**

src/Illuminate/Database/Schema/Grammars/PostgresGrammar.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1078,7 +1078,9 @@ protected function typeGeography(Fluent $column)
10781078
*/
10791079
protected function typeVector(Fluent $column)
10801080
{
1081-
return "vector($column->dimensions)";
1081+
return isset($column->dimensions) && $column->dimensions !== ''
1082+
? "vector({$column->dimensions})"
1083+
: 'vector';
10821084
}
10831085

10841086
/**

0 commit comments

Comments
 (0)