22 agosto, 2021
En esta publicación te enseñaremos sobre comandos que necesitas saber para trabajar con migraciones.
Suscríbete a nuestro canal en Youtube
SuscríbirseSi viste nuestra publicación sobre las migraciones, recordarás que te recomendamos el uso de php artisan migrate:refresh, pero este comando de artisan no es el único que te ayudará a volver a ejecutar tus migraciones. En esta publicación te enseñaremos sobre comandos que necesitas saber para trabajar con migraciones.
Primeramente aclaremos algo importante, cuando ejecutas el comando “php artisan migrate” por primera vez se creará en tu base de datos (previamente configurada en el archivo .env) una tabla llamada: “migrations” en la que se registrara el lote (batch) en el que se ejecutan las migraciones, es decir que la primera vez que corres el comando se registraran en esa tabla las migraciones con el lote 1, cuando lo hagas por segunda vez con el lote 2; y así sucesivamente.
La idea tras esta tabla es mantener un registro de que y en qué orden se ejecutaron cada una de las migraciones que hayas escrito en: Database/migrations, pero…¿Para qué? pues es simple, para poder revertir las acciones ya hechas desde un determinado lote, y hay muchos comandos Artisan diferentes que se apoyan en esta tabla para funcionar, los cuales veremos a continuación.
Empecemos por el primero, este comando revertirá, las últimas migraciones hechas, según el lote con el que estén registradas en la tabla “migraciones”, es decir se hará un rollback, en todas las migraciones que tenga un lote mayor. De esta manera puedes borrar las tablas que creaste en el último “php artisan migrate” que ejecutaste.
Si se da el caso de que quieras ignorar el lote con el que fueron registradas las migraciones que ejecutaste en la tabla migrations, puedes usar el comando migrate:reset para revertir todas las migraciones de tu aplicación; es decir se borrarán todas tablas sin excepción.
Bien, imaginemos que hicimos un cambio a un fichero de migraciones que teníamos, agregandole más columnas a la tabla, y demás; volver a ejecutar “php artisan migrate” no hará que esos cambios se reflejen en nuestra base de datos, lo que debemos hacer para ver los cambios es borrar la migración existente y volverla a crear. Hasta ahora sabemos que podemos revertir el último lote de migraciones que corrimos, pero luego de ello tendríamos que obligatoriamente volver a correr el “php artisan migrate”, para esta situación tenemos el comando “php artisan migrate:refresh”.
Este comando se encarga de hacer dos acciones en uno, primero revertirá todas tus migraciones como si de un “php artisan migrate:rollback” se tratará y luego las volverá a crear funcionando a la vez como un “php artisan migrate”.
De esta forma si se da el caso de que le hayas hecho cambios a tus migraciones, este comando borrará las tablas para volverlas a crear aplicando cualquier cambio que hayas hecho. Puede que el cambio en cuestión solo aplique a una tabla, pero aun así este comando las borrará todas y las volverá a crear, esto si bien puede parecer contraproducente, es un proceso bastante rápido y en mi opinión no amerita tener que estar usando otros comandos para solo correr una migración en particular, pero recuerda que este comando, migrate:rollback y migrate:reset son comandos destructivos, por lo que al borrar las tablas, también se borrarán los registros en ellas; por ello asegúrate de correrlas solo en entornos de prueba, nunca en producción (a menos a que sepas lo que estás haciendo). Si necesitas data de prueba puedes ejecutar semillas dentro de tus migraciones, también tenemos una publicación de semillas en Codea.
Recuerda que siempre puedes consultar la documentación, para más información acerca del tema.
Leido 7477 veces | 1 usuarios
Código fuente no disponible.
© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024