This commit is contained in:
Lizandro Guarnizo
2026-02-09 15:02:56 -05:00
parent d1813e262e
commit 2d99bfe244
7 changed files with 535 additions and 36 deletions
@@ -0,0 +1,56 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\DB;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
// Migrar datos existentes de cantidad_recibida a recepciones polimórficas
$acabados = DB::table('proceso_acabados')
->whereNotNull('cantidad_recibida')
->where('cantidad_recibida', '>', 0)
->get();
foreach ($acabados as $acabado) {
// Verificar si ya existe una recepción para este acabado
$existeRecepcion = DB::table('recepciones')
->where('referencia_type', 'App\\Models\\ProcesoAcabado')
->where('referencia_id', $acabado->id)
->exists();
if (!$existeRecepcion) {
// Crear recepción desde el campo cantidad_recibida
DB::table('recepciones')->insert([
'referencia_type' => 'App\\Models\\ProcesoAcabado',
'referencia_id' => $acabado->id,
'user_id' => 1, // Usuario por defecto (admin)
'cantidad' => $acabado->cantidad_recibida,
'prendas_defectuosas' => 0,
'fecha_recepcion' => $acabado->fecha_recepcion ?? $acabado->created_at,
'notas' => 'Migración automática desde cantidad_recibida',
'created_at' => $acabado->created_at,
'updated_at' => $acabado->updated_at,
]);
}
}
}
/**
* Reverse the migrations.
*/
public function down(): void
{
// Eliminar recepciones migradas automáticamente
DB::table('recepciones')
->where('referencia_type', 'App\\Models\\ProcesoAcabado')
->where('notas', 'Migración automática desde cantidad_recibida')
->delete();
}
};