Esta es la última publicación de esta serie. La IA ya está generando artefactos de codebase que no me aporta nada publicándolos, siendo que irá todo a parar al codebase de mi proyecto que es el lugar donde debe estar. Ni que hablar que el contenido de la publicación ya ha quedado desfasado con respecto al título de la misma: esto ya no se trata de la narrativa del flujo de negocio ni de la interacción.
Estoy de acuerdo con el orden que has establecido. Quiero que hagas la migración de prestaciones.
Perfecto. Voy a hacerla siguiendo todas las decisiones que ya tomamos, sin introducir nuevas.
<?php
use Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;use Illuminate\Support\Facades\Schema;
return new class extends Migration{ /** * Run the migrations. */ public function up(): void { Schema::create('prestaciones', function (Blueprint $table) {
// Código único e inmutable de la prestación. $table->string('id')->primary();
// Nombre visible para el usuario. $table->string('nombre', 60);
// Precio sugerido del catálogo. $table->decimal('precio_base', 12, 2);
$table->timestamps(); $table->softDeletes(); }); }
/** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('prestaciones'); }};
Comentarios
Hay dos pequeñas decisiones de implementación que tomé porque son coherentes con todo lo que venimos diseñando:
idesstringy Primary Key, noincrements().No agregué ningún índice adicional, porque una
PRIMARY KEYya crea el índice correspondiente y habíamos acordado no agregar más.
No agregué tampoco:
activocategoriadescripciondeleted_reasonningún otro campo
porque deliberadamente decidimos mantener el alcance reducido y diseñar únicamente lo que el sistema necesita hoy.
Me parece una muy buena primera migración: es simple, estable y difícilmente necesite cambios en el futuro.
No hay comentarios:
Publicar un comentario