feat(menu): ensure label column is added only if it doesn't exist and simplify menu update logic

This commit is contained in:
2026-07-24 10:13:18 -03:00
parent 979ed428a2
commit c1be9ecf7f

View File

@@ -10,9 +10,11 @@ return new class extends Migration
{
public function up(): void
{
Schema::table('menues', function (Blueprint $table) {
$table->string('label')->nullable()->after('code');
});
if (! Schema::hasColumn('menues', 'label')) {
Schema::table('menues', function (Blueprint $table) {
$table->string('label')->nullable()->after('code');
});
}
$labels = [
'index' => 'Inicio',
@@ -33,14 +35,12 @@ return new class extends Migration
DB::table('menues')
->select(['id', 'code'])
->orderBy('id')
->eachById(function ($menus) use ($labels): void {
foreach ($menus as $menu) {
$fallback = Str::headline(Str::afterLast($menu->code, '.'));
->eachById(function ($menu) use ($labels): void {
$fallback = Str::headline(Str::afterLast($menu->code, '.'));
DB::table('menues')
->where('id', $menu->id)
->update(['label' => $labels[$menu->code] ?? $fallback]);
}
DB::table('menues')
->where('id', $menu->id)
->update(['label' => $labels[$menu->code] ?? $fallback]);
});
Schema::table('menues', function (Blueprint $table) {