🧱 Migraciones de base de datos en Laravel
Las migraciones en Laravel son una forma estructurada y controlada de crear, modificar y eliminar tablas en la base de datos. Piensa en ellas como un "control de versiones para tu base de datos", lo que facilita mantener sincronizados los cambios entre entornos de desarrollo y producción.
📂 1️⃣ Ubicación y estructura de las migraciones
Las migraciones se encuentran en la carpeta:
database/migrations/
Cada archivo de migración tiene un nombre con la fecha y hora de creación, por ejemplo:
2025_11_01_000000_create_users_table.php
Dentro de cada migración hay dos métodos principales:
up()→ se ejecuta cuando aplicas la migración (crea o modifica tablas).down()→ se ejecuta cuando reviertes la migración (elimina cambios).
🛠️ 2️⃣ Crear una nueva migración
Para crear una migración usamos el comando Artisan:
php artisan make:migration create_productos_table
Esto creará un archivo en database/migrations/ con una estructura inicial para definir la tabla productos.
🧾 3️⃣ Definir las columnas de una tabla
Edita la migración creada para definir las columnas que tendrá la tabla:
// database/migrations/2025_11_01_000000_create_productos_table.php
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');
}
};
💡 Laravel usa el método Schema::create() para construir tablas y Blueprint para definir sus columnas.
⚙️ 4️⃣ Ejecutar migraciones
Para aplicar todas las migraciones pendientes, ejecuta:
php artisan migrate
Este comando creará las tablas en la base de datos configurada en tu archivo .env.
Si deseas revertir las últimas migraciones, usa:
php artisan migrate:rollback
🔄 5️⃣ Modificar una tabla existente
Para agregar o cambiar columnas sin borrar la tabla, crea una nueva migración:
php artisan make:migration add_categoria_to_productos_table --table=productos
Luego define la nueva columna dentro del método up():
public function up(): void {
Schema::table('productos', function (Blueprint $table) {
$table->string('categoria')->after('nombre');
});
}
✅ Conclusión
- 🧱 Las migraciones controlan los cambios en la estructura de la base de datos.
- 📁 Se guardan en la carpeta
database/migrations/. - ⚙️ Se ejecutan con
php artisan migratey se revierten conphp artisan migrate:rollback. - 🛠️ Permiten agregar, eliminar o modificar columnas fácilmente.
En la próxima lección aprenderemos sobre los Modelos Eloquent, el sistema ORM de Laravel que permite interactuar con las tablas de manera sencilla y orientada a objetos.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias