From 06929f895ea50a22557e33bf08b3e3fe55d25bb0 Mon Sep 17 00:00:00 2001 From: Hafez Divandari Date: Mon, 4 Mar 2024 06:02:00 +0330 Subject: [PATCH 1/2] add length to binary --- src/Illuminate/Database/Schema/Blueprint.php | 4 ++-- src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php | 4 ++++ src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Database/Schema/Blueprint.php b/src/Illuminate/Database/Schema/Blueprint.php index cd254b71b3f2..0411b6a973da 100755 --- a/src/Illuminate/Database/Schema/Blueprint.php +++ b/src/Illuminate/Database/Schema/Blueprint.php @@ -1274,9 +1274,9 @@ public function year($column) * @param string $column * @return \Illuminate\Database\Schema\ColumnDefinition */ - public function binary($column) + public function binary($column, $length = null, $fixed = false) { - return $this->addColumn('binary', $column); + return $this->addColumn('binary', $column, compact('length', 'fixed')); } /** diff --git a/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php b/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php index aec73db6eef4..c0cf85e36301 100755 --- a/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php +++ b/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php @@ -999,6 +999,10 @@ protected function typeYear(Fluent $column) */ protected function typeBinary(Fluent $column) { + if ($column->length) { + return $column->fixed ? "binary({$column->length})" : "varbinary({$column->length})"; + } + return 'blob'; } diff --git a/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php b/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php index b719f127f3dc..5333df3e6dbf 100755 --- a/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php +++ b/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php @@ -874,6 +874,10 @@ protected function typeYear(Fluent $column) */ protected function typeBinary(Fluent $column) { + if ($column->length) { + return $column->fixed ? "binary({$column->length})" : "varbinary({$column->length})"; + } + return 'varbinary(max)'; } From 74d26518160ece1bfd9e80d17542ee9972a592b3 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Mon, 4 Mar 2024 08:13:50 -0600 Subject: [PATCH 2/2] Update Blueprint.php --- src/Illuminate/Database/Schema/Blueprint.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Illuminate/Database/Schema/Blueprint.php b/src/Illuminate/Database/Schema/Blueprint.php index 0411b6a973da..c7f55eee23f5 100755 --- a/src/Illuminate/Database/Schema/Blueprint.php +++ b/src/Illuminate/Database/Schema/Blueprint.php @@ -1272,6 +1272,8 @@ public function year($column) * Create a new binary column on the table. * * @param string $column + * @param int|null $length + * @param bool $fixed * @return \Illuminate\Database\Schema\ColumnDefinition */ public function binary($column, $length = null, $fixed = false)