|
12 | 12 | use function implode; |
13 | 13 | use function in_array; |
14 | 14 | use function is_array; |
15 | | -use function mb_strtoupper; |
16 | 15 | use function preg_match; |
17 | 16 | use function preg_replace; |
| 17 | +use function str_ireplace; |
18 | 18 | use function str_repeat; |
19 | 19 | use function str_replace; |
20 | 20 | use function stripos; |
@@ -248,7 +248,8 @@ public function isColumnAppendPK(): bool |
248 | 248 | } |
249 | 249 |
|
250 | 250 | if ($this->schema === TableStructure::SCHEMA_MSSQL) { |
251 | | - if (stripos($this->append, 'IDENTITY') !== false |
| 251 | + if ( |
| 252 | + stripos($this->append, 'IDENTITY') !== false |
252 | 253 | && stripos($this->append, 'PRIMARY KEY') !== false |
253 | 254 | ) { |
254 | 255 | return true; |
@@ -308,34 +309,34 @@ public function escapeQuotes(string $value): string |
308 | 309 | public function removePKAppend(): ?string |
309 | 310 | { |
310 | 311 | if (!$this->isColumnAppendPK()) { |
311 | | - return null; |
| 312 | + return $this->append; |
312 | 313 | } |
313 | 314 |
|
314 | | - $uppercaseAppend = preg_replace('/\s+/', ' ', mb_strtoupper($this->append, 'UTF-8')); |
| 315 | + $append = preg_replace('/\s+/', ' ', $this->append); |
315 | 316 |
|
316 | 317 | switch ($this->schema) { |
317 | 318 | case TableStructure::SCHEMA_MSSQL: |
318 | | - $formattedAppend = str_replace(['PRIMARY KEY', 'IDENTITY'], '', $uppercaseAppend); |
| 319 | + $filteredAppend = str_ireplace(['PRIMARY KEY', 'IDENTITY'], '', $append); |
319 | 320 | break; |
320 | 321 |
|
321 | 322 | case TableStructure::SCHEMA_OCI: |
322 | 323 | case TableStructure::SCHEMA_PGSQL: |
323 | | - $formattedAppend = str_replace('PRIMARY KEY', '', $uppercaseAppend); |
| 324 | + $filteredAppend = str_ireplace('PRIMARY KEY', '', $append); |
324 | 325 | break; |
325 | 326 |
|
326 | 327 | case TableStructure::SCHEMA_SQLITE: |
327 | | - $formattedAppend = str_replace(['PRIMARY KEY', 'AUTOINCREMENT'], '', $uppercaseAppend); |
| 328 | + $filteredAppend = str_ireplace(['PRIMARY KEY', 'AUTOINCREMENT'], '', $append); |
328 | 329 | break; |
329 | 330 |
|
330 | 331 | case TableStructure::SCHEMA_CUBRID: |
331 | 332 | case TableStructure::SCHEMA_MYSQL: |
332 | 333 | default: |
333 | | - $formattedAppend = str_replace(['PRIMARY KEY', 'AUTO_INCREMENT'], '', $uppercaseAppend); |
| 334 | + $filteredAppend = str_ireplace(['PRIMARY KEY', 'AUTO_INCREMENT'], '', $append); |
334 | 335 | } |
335 | 336 |
|
336 | | - $formattedAppend = trim($formattedAppend); |
| 337 | + $filteredAppend = trim($filteredAppend); |
337 | 338 |
|
338 | | - return !empty($formattedAppend) ? $formattedAppend : null; |
| 339 | + return !empty($filteredAppend) ? $filteredAppend : null; |
339 | 340 | } |
340 | 341 |
|
341 | 342 | /** |
|
0 commit comments