Saltar al contenido

En Laravel, las claves primarias (PK) suelen ser enteros autoincrementales, pero en algunos casos, los UUIDs son una mejor opción. Los UUIDs aportan mayor seguridad en aplicaciones públicas y evitan problemas de colisión en bases de datos distribuidas. En esta guía, te mostraré cómo implementar UUIDs de manera centralizada usando un trait, con un ejemplo práctico que incluye las tablas users, projects, tags y la tabla pivote project_tag.

Creando la Lógica Centralizada: El Trait para UUIDs

Crea varios modelos y migraciones para hacer pruebas

Configurando las Migraciones

Las migraciones deben ajustar las claves primarias y foráneas para usar UUIDs.

Tabla users

Tabla projects

Tabla tags

Tabla pivote project_tag

Configurando los Modelos

Todos los modelos deben usar el trait HasUuid.

Modelo User

Es importante fijarse cómo hacemos uso del trait HasUuid.

Modelo Project

Es súper importante fijarse en cómo definimos las relaciones BelongsToMany, aquí aplicamos el trait HasUuid.

Modelo Tag

Creando las Factorías

Factory para Project

Factory para Tag

Generar Datos con Seeders

Seeder para la Base de Datos

Conclusión

Implementar UUIDs en Laravel con claves foráneas es sencillo y mejora tanto la seguridad como la flexibilidad de tu aplicación. La introducción de foreignUuid hace que las migraciones sean más claras y manejables. Este enfoque completo, desde migraciones hasta seeders, asegura una estructura de base de datos eficiente y escalable.

¿Te interesa aprender más sobre Laravel? Explora otros artículos en nuestro blog de Laravel o consulta nuestros cursos especializados.

school Curso completo

Curso Laravel 12
Completo 2026

El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.

access_time 8 horas de contenido
layers 4 tecnologías en 1
update 100% actualizado
code Proyectos prácticos
Ver Curso Laravel 12 arrow_forward

star Incluido en cualquier suscripción

Rutas de aprendizaje