📊 Crear tablas con migraciones en Laravel
Las migraciones en Laravel son una herramienta poderosa que permite crear, modificar y mantener la estructura de tu base de datos de forma controlada y reproducible. Funcionan como un "control de versiones" para la base de datos, permitiendo que varios desarrolladores trabajen en el mismo proyecto sin conflictos.
⚙️ 1️⃣ ¿Qué es una migración?
Una migración es un archivo PHP que define cómo se debe crear (o modificar) una tabla en la base de datos.
Estos archivos se encuentran en la carpeta database/migrations/.
php artisan make:migration create_productos_table
📁 Este comando creará un archivo similar a:
2025_11_01_000000_create_productos_table.php dentro de la carpeta database/migrations.
📋 2️⃣ Estructura de una migración
El archivo de migración contiene dos métodos principales:
up()→ Define lo que debe suceder al ejecutar la migración (crear tabla, añadir columnas, etc.).down()→ Define lo que sucede al revertir la migración (por ejemplo, eliminar la tabla).
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up(): void {
Schema::create('productos', function (Blueprint $table) {
$table->id();
$table->string('nombre');
$table->text('descripcion')->nullable();
$table->decimal('precio', 8, 2);
$table->integer('stock')->default(0);
$table->timestamps();
});
}
public function down(): void {
Schema::dropIfExists('productos');
}
};
🚀 3️⃣ Ejecutar las migraciones
Una vez creadas las migraciones, debes ejecutarlas con el siguiente comando:
php artisan migrate
Esto creará todas las tablas definidas en tus migraciones dentro de la base de datos configurada.
Para revertir el último cambio puedes usar:
php artisan migrate:rollback
🧰 4️⃣ Comandos útiles de migraciones
php artisan make:migration create_users_table→ Crea una nueva migración.php artisan migrate→ Ejecuta todas las migraciones pendientes.php artisan migrate:rollback→ Revierte la última migración ejecutada.php artisan migrate:refresh→ Revierte y vuelve a ejecutar todas las migraciones.php artisan migrate:fresh→ Elimina todas las tablas y las migra desde cero.
💾 5️⃣ Ejemplo práctico de migración
Si ejecutas el comando php artisan migrate después de crear la migración de productos,
Laravel generará automáticamente la tabla productos con las columnas definidas.
Puedes verificarlo abriendo tu base de datos (por ejemplo en phpMyAdmin) y comprobando la tabla:
+----+----------+-------------+---------+-------+---------------------+
| id | nombre | descripcion | precio | stock | created_at |
+----+----------+-------------+---------+-------+---------------------+
| 1 | Teclado | Mecánico | 45.00 | 10 | 2025-11-01 10:00:00 |
+----+----------+-------------+---------+-------+---------------------+
✅ Conclusión
- 📦 Las migraciones controlan la estructura de la base de datos desde el código.
- ⚙️ Se crean con
php artisan make:migrationy se ejecutan conphp artisan migrate. - 🧱 Facilitan el trabajo en equipo y evitan inconsistencias entre entornos.
- 💡 Siempre guarda tus cambios en control de versiones (Git) para mantener el historial de migraciones.
En la próxima lección aprenderemos a trabajar con Eloquent ORM, el sistema de mapeo de objetos de Laravel que nos permitirá interactuar con las tablas de forma sencilla.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias