馃П Migraciones de base de datos en Laravel

馃П 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 migrate y se revierten con php 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.



Publicar un comentario

0 Comentarios