Quizá ya estés familiarizado con el comando migrate:refresh
que permite hacer un rollback de nuestras migraciones y re-ejecutarlas de nuevo. Esto ayuda a regenerar nuestra base de datos durante el desarrollo
Laravel 5.5 incluirá una mejora sobre este tema añadiendo un nuevo comando migrate:fresh
. La diferencia entre «refresh» y «fresh» es que el nuevo comando omite los métodos down
o los rollbacks eliminando todas las tablas para luego ejecutar los métodos up
He aquí la salida generada por los comandos mostrando las diferencias:
1 2 3 4 5 6 7 8 9 10 | $ php artisan migrate:refresh Rolling back: 2014_10_12_100000_create_password_resets_table Rolled back: 2014_10_12_100000_create_password_resets_table Rolling back: 2014_10_12_000000_create_users_table Rolled back: 2014_10_12_000000_create_users_table Migrating: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_000000_create_users_table Migrating: 2014_10_12_100000_create_password_resets_table Migrated: 2014_10_12_100000_create_password_resets_table |
Y ahora con el comando fresh
:
1 2 3 4 5 6 7 8 | $ php artisan migrate:fresh Dropped all tables successfully. Migration table created successfully. Migrating: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_000000_create_users_table Migrating: 2014_10_12_100000_create_password_resets_table Migrated: 2014_10_12_100000_create_password_resets_table |
Lo que es además beneficioso de este nuevo comando es que encaja perfectamente con la release 5.4.17 que hizo los métodos up
y down
opcionales. Ahora se puede dejar vacío el método down
y aun así resetear la base de datos.
El nuevo comando migrate:fresh
se incluirá en Laravel 5.5 que se espera para Julio o Agosto de este año. Para más información sobre este anuncio se puede visitar el anuncio de Taylor Otwell al respecto.