diff --git a/database/migrations/2026_07_16_000001_create_units_and_link_unit_id.php b/database/migrations/2026_07_16_000001_create_units_and_link_unit_id.php index 7cf2388..662a293 100644 --- a/database/migrations/2026_07_16_000001_create_units_and_link_unit_id.php +++ b/database/migrations/2026_07_16_000001_create_units_and_link_unit_id.php @@ -81,11 +81,14 @@ return new class extends Migration } $extraCodes = $extraCodes->unique(); - $existingCodes = DB::table('units')->where('company_id', $companyId)->pluck('code')->all(); + // Case-insensitive dedupe: MariaDB default collation treats 'L' == 'l' + // as the same value on the unique index, so we compare lowercased. + $existingCodes = DB::table('units')->where('company_id', $companyId) + ->pluck('code')->map(fn ($c) => mb_strtolower((string) $c))->all(); foreach ($extraCodes as $code) { - if (in_array($code, $existingCodes, true)) continue; + if (in_array(mb_strtolower($code), $existingCodes, true)) continue; if (mb_strlen($code) > 16) continue; - DB::table('units')->insert([ + DB::table('units')->insertOrIgnore([ 'company_id' => $companyId, 'code' => $code, 'name_ro' => $code,