Semana de Muchos Arreglos (Fixed Bugs)

Durante estos últimos días, he estado inmerso en la redefinición del esquema de datos ya que tenía muchos problemas con las relaciones 1:N, y su almacenaje en base de datos. No se por qué diantres los datos a veces no se persistían y otras veces era necesario cerrar la instancia de conexión a la base de datos y volver a abrirla, me imagino que será algún fallito del Framework o no lo habré definido/configurado correctamente para que funcione adecuadamente. En cambio las relaciones N:M si que funcionan correctamente, así que esa fue la gota que terminó de colmar mi paciencia.

Así que me decidí a configurar yo mismo este tipo de relaciones. Para ello lo primero que tuve que hacer fue identificar este tipo de relaciones. Los tipos de datos que tenían este tipo de relaciones eran:

  • Las elecciones de fechas de los usuarios en las Qdadas.
  • Las fechas posibles de las Qdadas.

Una vez localizados los datos que fallaban, procedí a separarlos de la tabla que los albergaba y a crear la tabla necesaria que los representara. Por ello cree las tablas que se relacionaran con la Qdada guardando el ID de esta en las nuevas tablas. De esta forma, ahora, mi esquema de Base de Datos posee dos tablas nuevas: QdadaFechas y UsuarioEleccion.

Este cambio, no fue sólo redefinir el esquema de Base de Datos… sino que involucró ¡Cambiar casi toda la lógica de Edición de Qdadas!. Así que durante casi 4 días he estado dedicándole todo el tiempo que tengo disponible para desarrollar Qdemos! en modificar todo lo necesario para aclimatarse al nuevo esquema de la Base de Datos, y de paso he refactorizado algunas funciones que nunca viene mal 😉

Con todo esto, he logrado que ahora si que sí me almacene y actualice las relaciones 1:N (que ahora son tablas independientes). También he creado la lógica necesaria para que un invitado pueda responder a las fechas posibles de la Qdada y guardar su elección. Hasta me ha dado tiempo, en el camino de arreglar este desaguisado, de validar que el creador de la Qdada puede modificar su elección de fechas (que por defecto son todas las fechas que propuso a SI) y como mínimo debe elegir una fecha en la que pueda asistir (Que para eso es el creador).

Como siempre aquí os dejo con el commit correspondiente a lo que he hecho para rediseñar todo esto: Commit

Anuncios

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 )

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 )

Google+ photo

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

Conectando a %s