banner-como-generar-migraciones-de-base-datos-existente

Las migraciones permiten modificar y compartir el esquema de la base de datos de un proyecto, pero ¿Qué pasa cuando queremos iniciar un proyecto y ya contamos con la base de datos?, pues sería genial poder generar las migraciones en base a las tablas existentes y eso exactamente lo que quiero explicar utilizando el componente Xethron/migrations-generator.

Para comenzar, nos dirigimos en la consola a la carpeta y ejecutamos los siguientes comandos para que genere el require y además se descarguen todas las dependencias del complemento:

composer require --dev --no-update "xethron/migrations-generator:dev-l5"
composer require --dev --no-update "way/generators:dev-feature/laravel-five-stable"
composer config repositories.repo-name git "[email protected]:jamisonvalenta/Laravel-4-Generators.git"
composer update

Cuando se termine de descargar, agregamos los  services providers en array de providers que podemos encontrar en el archivo config/app.php:

Way\Generators\GeneratorsServiceProvider::class,
Xethron\MigrationsGenerator\MigrationsGeneratorServiceProvider::class,

Nota: antes de continuar, revisa que la configuración de la base de datos esté correcta. En el archivo .env

Perfecto, ahora puedes dirigirte a la consola y utilizar el comando:

php artisan migrate:generate
  • Para generar una o varias tablas en específico, lo puedes hacer de la siguiente forma:
php artisan migrate:generate nombre_tabla1,nombre_tabla2
  • Para excluir una o varias tablas para la generación de su migración, lo puedes hacer de la siguiente forma:
php artisan migrate:generate --ignore="nombre_tabla"

Al ejecutar el código nos preguntará si queremos agregar las migraciones a la tabla de migraciones. Si marcar «Y» te preguntará el número de migración que quieres que sean las tablas que se van a generar.

  • Si es 0, las migraciones van a ser ejecutadas como las primeras migraciones del proyecto.
  • O tambien puedes revisar tu tabla de migraciones en tu BD para saber con que grupo de migraciones existentes quieres que sean ejecutadas las migraciones que se van a generar.

Ejemplo en la consola al ejecutar el comando:

php artisan migrate:generate

Migration console

Por último recuerda instalar las migraciones:

  • Si es un proyecto nuevo, lo puedes realizar con el comando:
    php artisan migrate:refresh
  • Si no es un proyecto nuevo y configuraste como último número Batch tus migraciones, entonces puedes utilizar el comando:
    php artisan migrate

Nota: tener cuidado para no perder datos en la base de datos.

Excelente, ya hemos generado las migraciones. ¿Qué te ha parecido?. Comentarios y/o dudas son bien recibidas, espero que les sea de gran utilidad. Recuerda compartir este y demás tutoriales en las redes sociales.

Enlaces recomendados

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior Cómo enviar emails de prueba con Mailtrap.io en Laravel Lección siguiente Pruebas de integración automatizadas en Chrome con Laravel TestTools