Actualización de Ubuntu 16.04 LTS

xerus_orange_hexBueno, llevo ya mucho sin subir nada, así que toca una actualización. Tuve un problema con los drivers gráficos en la última actualización que hice de Kubuntu, así que llevo cerca de un año usando Ubuntu con Unity y, debo de decirlo, no me ha ido mal del todo. Usando Unity Tweak Tool, instalando un tema de iconos decente y con Conky, la verdad es que queda bastante usable…

Pero al actualizar a la versión 16.04 LTS (Xenial Xerus, que salió el mismo Jueves), me he encontrado con algunos problemas que he tenido que resolver corriendo y sobre la marcha…

Sigue leyendo

Anuncios

Menos mal :D

Al final, el diseño ha sido más flexible de lo que me temí en un principio. Hace tiempo que no revisaba los diferentes scripts para la base de datos, y afortunadamente fui previsor e incluí una buena cantidad de procedimientos almacenados para casi todo lo que se me ocurrió… ¡al menos, concerniente a los asistentes y grupos!

Con un par de triggers nuevos concernientes a la tabla de grupos, la cosa funciona bastante bien; es más, he podido añadir la operación de DELETE al modelo de asistentes de forma consistente gracias a los procedimientos que ya había descrito. ¡Y parece bastante consistente! Al menos, a primera vista: todavía no he podido hacer las pruebas de estrés con dos o más ordenadores atacando la misma base de datos. De cualquier modo, no creo que durante las jornadas se vayan a eliminar asistentes… eso ocurrirá durante la fase previa, cuando se van a ir introduciendo en el sistema los datos.

Ahora, sólo queda por añadir las opciones de cambio de grupo (aislar a un asistente de grupo, crear nuevos grupos, esas cosas…) y vigilar que sean consistentes con las habitaciones.

De vuelta al tablero de dibujo…

Sé que no debería de hacer las cosas así, que tendría que tener un diseño de la base de datos desde el primer momento, antes incluso de ponerme a picar código… pero siempre hay distracciones y detalles que se te escapan.

He vuelto a la base de datos y estoy de nuevo trabajando con los triggers para poder controlar tanto las reservas de habitaciones como la inserción de nuevos grupos. Como las habitaciones se asignan a los grupos y no a las personas, eso significa que cuando se crea un nuevo grupo hay que introducir un nuevo registro en la tabla que relaciona a los grupos con las habitaciones (por defecto, van a una habitación fantasma llamada ‘Sin asignar’, la cual en realidad no existe). Los procedimientos y triggers de la base de datos han de ser modificados en consonancia con este diseño, para que no queden cuelgues raros.

¡Y lo más divertido es que no estoy seguro de si desde un trigger de MySQL es posible llamar a un procedimiento almacenado! Recuerdo haber leído en alguna parte que los procedimientos anidados (procedimientos que llaman a otros procedimientos) no se permitían dentro de MySQL, pero… ¿a qué versión de MySQL se referían?

Un pequeño lío. Menos mal que el diseño es consistente y sólo hay que hacer cambios en unos pocos triggers y procedimientos…