🧱 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