Symfony 2.8: Cómo agregar un campo a una tabla ya existente

Introducción

Suele ocurrir que después de crear una base de datos con sus tablas, nos demos cuenta que necesitamos modificar una de las tablas, para agregar un campo nuevo no previsto originalmente.
Hacer esto, requiere de varios pasos que paso a explicar.

Primer paso: Modificar la tabla

Yo utilizo phpAdmin y bases de datos MySQL. Ingresamos a phpMyAdmin, buscamos la tabla a modificar (en mi caso, se llama docentes). Vemos la estructura de la tabla docentes antes de su modificación en la fiura siguiente (la tabla es más grande que lo que muestra la imagen, ya que comprende 26 campos que no entran completos en la imagen):
campo1

A esta tabla, le voy a agregar un campo de tipo Boolean llamado discrecional.

 

Segundo paso: Modificar la entidad

Debemos modificar en el código, la entidad donde se define la tabla en Symfony 2.8. En mi caso, el archivo se llama Docentes.php y se ubica en la carpeta: src/BackendBundle/Entity
Procedemos a agregar el nuevo campo y sus métodos get y set al archivo Docentes.php, como muestran las dos figuras siguientes:

campo3

campo4
Dependiendo de como se haya creado la base de datos con sus tablas, quizás se haya creado un archivo de doctrine con extensión xml. En mi caso, se llama Docentes.orm.xml y se encuentra ubicado en la carpeta que muestra la figura siguiente:

campo5

Agregamos la nueva línea que suministra información del nuevo campo (destacado en recuadro rojo en la imagen siguiente):

campo6

Tercer paso: Modificar los formularios

Por supuesto, debemos incorporar estos datos a los archivos PHP que crean los formularios para dar de alta y modificar la entidad Docentes, agregando el campo nuevo.

En este caso, editamos el archivo DocentesType.php ubicado en: src/BackendBundle/Form  Agregamos la línea:  ->add(‘discrecional’)

 

Cuarto paso: Modificar las vistas

Debemos ahora introducir los cambios en los archivos Twig donde necesitamos que este campo aparezca. En mi caso son los siguientes formularios:

  • new.html.twig
  • edit.html.twig
  • show.html.twig

Quinto paso: Limpiar la cache

Siempre es conveniente, cuando hacemos modificaciones de este tipo, limpiar la cache de Symfony.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s