Migraciones

De Wiki Proyectos Beta
Ir a la navegación Ir a la búsqueda

Base de datos: Migraciones

Generando Migraciones

php artisan make:migration nombre_de_la_migracion

Estructura de la migración

Definir la Migración

Abre el archivo de migración recién creado en database/migrations Verás dos métodos: up() y down().

  • Método up(): Define los cambios que deseas realizar en la base de datos (e.g., crear una tabla, agregar una columna).
  • Método down(): Define cómo revertir esos cambios.
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('paises', function (Blueprint $table) {
            $table->id();
            $table->string('nombre')->unique();
            $table->string('gentilicio');
            $table->string('codigo');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::drop('paises');
    }
};

Ejecutar Migración

Una vez que hayas definido tus migraciones, puedes ejecutarlas con el siguiente comando:

php artisan migrate

Esto aplicará todas las migraciones pendientes en tu base de datos.

Revertir Migraciones

Si necesitas revertir una migración específica, puedes usar:

php artisan migrate:rollback

Puede revertir un "lote" específico de migraciones proporcionando la opción batch al comando rollback , donde la opción batch corresponde a un valor de lote dentro de la migrations tabla de base de datos de su aplicación.

php artisan migrate:rollback --batch=3

Si requieres ver las declaraciones SQL que se ejecutarán mediante las migraciones sin ejecutarlas realmente, puede proporcionar la bandera --pretend al comando migrate:rollback

php artisan migrate:rollback --pretend

El comando migrate:reset revertirá todas las migraciones de su aplicación:

php artisan migrate:reset

Revertir y migrar usando un solo comando

El comando migrate:refresh revertirá todas las migraciones y luego ejecutará el comando migrate . Este comando recrea efectivamente toda la base de datos:

php artisan migrate:refresh
# Refresh the database and run all database seeds...
php artisan migrate:refresh --seed

Para obtener más información sobre los comandos y sus opciones, consulta la [documentación oficial de Laravel](https://laravel.com/docs/9.x/migrations).

Nota: Asegúrate de tener tu entorno de Laravel configurado correctamente antes de ejecutar las migraciones.