up
This commit is contained in:
@@ -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();
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user