Para agregar una columna a una tabla, modificamos la migración ya existente. En nuestro caso añadimos un campo profession con un limite de 100 caracteres a la tabla users:
<?php
Encadenando nullable() indicamos que la columna puede contener valores nulos, es decir que su valor es opcional.
El comando de Artisan migrate:reset va a hacer un retroceso (roll back) de las migraciones ejecutadas previamente. En nuestro ejemplo va a eliminar las tablas users y password_resets.
# php artisan migrate:reset
Luego de ejecutar este comando, podemos ejecutar el comando php artisan migrate para volver a crear las tablas.
Para modificar un campo ya existente, por ejemplo el limite de caracteres del campo profession, agregamos el nuevo valor en la migración:
Para que estos cambios tengan efecto debemos ejecutar el comando de Artisan migrate:refresh.
El comando migrate:refresh primero va a ejecutar un reset de todas las migraciones (llamando al método down()) y luego volverá a ejecutar las migraciones (llamando al método up()):
# php artisan migrate:refresh
Al realizar una modificación en la migración original tenemos el problema de que los comandos reset y refresh eliminaran el contenido de las tablas en la base de datos. Para evitar esto podemos (utilizando el comando make:migration) crear una nueva migración y agregar desde ahí las modificaciones que necesitamos:
# php artisan make:migration add_profession_to_users
Es una buena practica que el nombre de la migración sea descriptivo y haga referencia a lo que vamos a hacer. En este caso add_profession_to_users indica que queremos agregar el campo profession a la tabla users.
Dentro del método up() de la migración en lugar de usar el método create del facade Schema utilizaremos table y pasaremos como primer argumento el nombre de la tabla que queremos modificar:
Dentro de la función indicamos el campo que queremos agregar.
En el método down() especificamos la acción inversa, en este caso eliminar la columna que agregamos en el método up():
Con el método dropColumn eliminamos de la tabla la columna especificada como argumento.
Al modificar una migración utilizando Schema::table y agregar una columna, esta se va añadir al final de la tabla. Podemos lograr que la columna se cree en la posición que indiquemos utilizando el método after:
En este caso indicamos que queremos agregar la columna profession después del campo password.
Utilizando el camando de Artisan migrate:rollback Laravel regresará el último lote de migraciones ejecutado:
# php artisan migrate:rollback
RELACIONES
$table->foreing('category_id')->references('id')->on('categories');
$table->foreing('brand_id')->references('id')->on('brands');
Migraciones en los tenants
php artisan make:migration add_activo_to_tbl_cajas_table --table=tbl_cajas --path=database/migrations/tenant
php artisan tenants:migrate
Labore dolor amet ipsum ea, erat sit ipsum duo eos. Volup amet ea dolor et magna dolor, elitr rebum duo est sed diam elitr. Stet elitr stet diam duo eos rebum ipsum diam ipsum elitr.
123 Street, New York, USA
info@example.com
+012 345 67890
©
Your Site Name.
All Rights Reserved.
Designed by
HTML Codex
Distributed By:
ThemeWagon