Migration
Clase 12 de 18 • Curso de Fundamentos de Symfony 6
Contenido del curso
Clase 12 de 18 • Curso de Fundamentos de Symfony 6
Contenido del curso
Walter Omar Barrios Vazquez
Japheth Calzada López
Julian David Alzate Cuervo
Dave Juanes
Dave Juanes
Erick Estrada Mancilla
Migration
Estructura inicial que se convertirá en una tabla de la BD.
Permite trabajar con un sistema de versiones.
Se crea con php bin/console make:migration
Se guarda en migrations/
Subir up una versión significa crear la tabla y bajar down borrarla.
Para ejecutar las migraciones se usa php bin/console doctrine:migrations:migrate
Repository
Quien contiene todos los métodos de consultas. Se encuentra en src/Repository
He estado en proyectos grandes con Laravel y Symfony y siempre hay el miedo de usar migraciones y perder información
es cierto, por eso es bueno tener el proyecto en producción y en modo desarrollo
Tuve problemas con esta clase, tengo esta difinición en mi .env
DATABASE\_URL="mysql://root:password@127.0.0.1:3306/symfony\_course?serverVersion=11.7.2-MariaDB\&charset=utf8mb4"
Y me da este error:
php bin/console make:migration --formatted In ExceptionConverter.php line 67:   An exception occurred while executing a query: SQLSTATE\[42S22]: Column not found: 1054 Unknown column 'i\_c.TABLE\_NAME' in 'where clause' In Exception.php line 24: SQLSTATE\[42S22]: Column not found: 1054 Unknown column 'i\_c.TABLE\_NAME' in 'where clause 'In Statement.php line 130:SQLSTATE\[42S22]: Column not found: 1054 Unknown column 'i\_c.TABLE\_NAME' in 'where clause' make:migration \[--formatted] \[--configuration \[CONFIGURATION]]
Blogueando recomiendan cambiar la versión por serverVersion=mariadb-11.7.2 pero tampoco funcionó, al final tuve que cambiar a PostgreSQL y ya funciono bien...
El `` en el nombre de la DB fue error al copiar los datos
Doctrine schema update or Doctrine migrations https://stackoverflow.com/questions/23339711/doctrine-schema-update-or-doctrine-migrations
A mi parecer las migraciones son mejores que el schema:update. de todas maneras yo recomendaria tener un backup de la base datos ante cualquier cambio de estructura de la base de datos.