Superposición del sitio

Laravel: Migraciones

Desde laravel podemos crear tablas y relaciones para la base de datos, ademas nos ofrece un control de versiones permitiendo crear tablas, modificar, establecer relaciones, eliminarlas y todo través de comandos que facilitan este proceso.

beneficios

  • Control de versiones: puede ir entre estados de la base de datos, por ejemplo ubicándote en uno donde no esta creada cierta tabla o campo, facilita la depuración de errores ademas de contar con un registro de los cambios hechos para poder compartir con su equipo de trabajo .
  • Abstracción del motor de base de datos: las migraciones crearían la misma base de datos independiente de sistema de gestión de base de datos que utilice (MySQL, PostgreSQL, SQLite, SQL Server).
  • Facilita el despliegue del proyecto: simplificando la creación de la base de datos en nuevo servidor.

crear una migragión

Desde la consola, ubicándonos en la raíz de nuestro proyecto utilizamos el comando.

php artisan make:migration create_mi_tabla_table

Reemplaza «mi_tabla» por el nombre de la tabla que desees crear, la migración se creara en la ruta «database/migrations» de nuestro proyecto.

2020_02_03_170502_create_mi_tabla_table.php

Como podemos ver, el archivo creado tiene un prefijo de fecha, esto con el fin de ejecutar la migraciones según su fecha de creación.

<?php

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

class CreateMiTablaTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('mi_tabla', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('mi_tabla');
    }
}

Ejecutar la migración

Al ejecutar la migración con el comando «php artisan migrate» esta se encarga de crear la tablas en la base de datos .

php artisan migrate
Migrating: 2020_02_03_154406_create_mi_tabla_table
Migrated: 2020_02_03_154406_create_mi_tabla_table (0.02 seconds)

Nota: si recibes el siguiente error en la consola, por favor ve a configurar la conexión con la base de datos.

Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes

Una vez terminado este proceso encontraras en tu base de datos dos tablas:

  • migrations
  • mi_tabla

Lista de comandos de la sección migrate

Podemos encontrar la lista de comandos con el comando «php artisan» en la sección «migrate».

php artisan 
migrate
  migrate:fresh        Drop all tables and re-run all migrations
  migrate:install      Create the migration repository
  migrate:refresh      Reset and re-run all migrations
  migrate:reset        Rollback all database migrations
  migrate:rollback     Rollback the last database migration
  migrate:status       Show the status of each migration

En una próxima entrada para el blog agregaremos mas campos a la migración.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *