Laravel

Alter Table migration Laravel

¿Cómo modificar una table existente con Alter Table?

Alter table migration laravel. En el framework Laravel podemos trabajar sin complicaciones por su amplio soporte y manejar instrucciones como el «Alter table» sin complicaciones.

Alter table migration laravel

En que situaciones puede usar Alter Table?

  • El ALTER TABLE. La declaración se utiliza para añadir, eliminar o modificar columnas en una tabla existente.
  • El ALTER TABLE. La declaración también se utiliza para añadir y eliminar diversas limitaciones a una tabla existente.

Ademas, podemos usarlo para alterar la tabla como ser:

  • Campo Unique
  • Campo Indice
  • Campo UNSIGNED ZEROFILL
  • Agregar columnas
  • Eliminar columnas
  • Modificar columnas, etc.

Existen muchas mas opciones para usar esta declaración llamada alter table.

¿Como usar alter table en laravel?

Vamos a realizar un ejemplo de como agregar ceros a la izquierda a un campo de tipo numérico llamado invoice.

    /**
     * Run the migrations.
     */
    public function up(): void
    {
       
        Schema::create('invoices', function (Blueprint $table) {
            $table->id();
            $table->integer('invoice');
            $table->decimal('total', 13,2)->default(0)->nullable();
            $table->timestamps();
        });
    }

En la migración superior hemos creado una tabla llamado INVOICES y posee 2 campos: invoice y total.

Ahora vamos a usar la sentencia ALTER TABLE para que la columna INVOICE se altere de nueceros enteros a agregarle ceros a la izquierda. Por lo tanto, esta acción podemos lograrlo usando el atributo UNSIGNED ZEROFILL.

DB::statement('ALTERTABLE invoices CHANGE invoice invoice INT(5) UNSIGNED ZEROFILL NOT NULL');

A continuación, veamos la integración completa de alter table en la migración.

    /**
     * Run the migrations.
     */
    public function up(): void
    {
       
        Schema::create('invoices', function (Blueprint $table) {
            $table->id();
            $table->integer('invoice');
            $table->decimal('total', 13,2)->default(0)->nullable();
            $table->timestamps();
        });
        DB::statement('ALTER TABLE invoices CHANGE invoice invoice INT(5) UNSIGNED ZEROFILL NOT NULL');

    }

Luego ejecutar el comando para actualizar todas las tablas de nuestro proyecto

php artisan migrate:fresh --seed

Con estos pasos hemos logrado lo siguiente

Zerofill Laravel
Zerofill Laravel

Espero que esta breve explicación les ayude en sus proyectos de Laravel y no se olviden de compartir en sus redes sociales.

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.
Botón volver arriba
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad