ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <functions.hpp>
Static Public Member Functions | |
static void | verifyDataScheme (dbms::Connection &connection, const char *tableName, const char *requiredPatch, const char *columnID="id", const char *columnDate="installation_date") noexcept(false) |
Métodos usados habitualmente para trabajar contra la base de datos.
|
staticnoexcept |
Este metodo asegura la integridad entre el esquema de tablas instalado y el esperado por los procesos de un proyecto. Para ello cada uno de los proyectos debe invocar a este método indicado los parámetro requeridos. Es imprescindible que la versión esperada del esquema de base de datos esté definida en una única variable centralizada.
La idea es que cada vez que hagamos un cambio en la estructura de tablas de una cierta entidad cambiemos la versión del esquema, y ese cambio deberá reflejarse en la invocación a este nuevo método.
Este método lanzará una excepción si el último parche instalado en el esquema de base de datos no coincide con el valor de la variable requiredPatch.
Cada proceso debe invocar la comprobación de esquema en cuanto la base de datos tenga una conexión disponible, de forma que si el esquema de base de datos no coincide con el esperado el proceso mostrará un error indicado el esquema de base de datos esperado y el esquema de base datos instalado.
Para usar este método el esquema de base de nuestro proyecto debe disponer de una tabla que debe contener, al menos, la siguiente estructura:
El nombre de la tabla y los campos de las columnas podrían ser distintos ya que este método los recibe como parámetros.
Un ejemplo de implementación podría ser:
connection | Conexión usada para acceder a los datos. |
tableName | Nombre de la tabla que contiene las versiones instaladas. |
requiredPatch | Identificador de parche de base de base de datos requerido por los procesos de nuestro proyecto. Este indicador debería estar definido en un único punto para todo nuestro proyecto. |
columnID | Nombre de la columna que contiene el identificador de cada uno de los parches instalados. |
columnDate | Nombre de la columna que contiene la fecha de instalación de cada parche. |