Ver Mensaje Individual
  #1  
Antiguo 16-08-2022
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Reputación: 20
amadis Va por buen camino
Question Chequear y hacer Cambios en Base de Datos Firedac + Firebird 3

Que tal Colegas.

Estoy tratando de hacer mejor un sistema automatico que chequee la estructura de mi base de datos.

Tengo una aplicacion VCL, de la cual subo actualizaciones del EXE a mi servidor y se actualizan los clientes al ejecutar.

Al conectar el EXE a la Base Firebird con Firedac, lo primero que leo es un INTEGER de un campo VERSION.

Luego en el EXE antes de seguir cargando el sistema tengo numeros de Version donde hubo cambios en la estructura de la BD

Código Delphi [-]
 If VERSION < 16 
  then { aqui creo un fdquery y ejecuto alter table y agrego o modifico estructura de las tablas, pongo version =16 y ejecuto el query}
 
 If VERSION < 17 // aqui nuevamente chequeo cambios posteriores
  then { aqui creo un fdquery y ejecuto alter table y agrego o modifico estructura de las tablas , pongo version =17 y ejecuto el query}   
   
 If VERSION < 18 // aqui nuevamente chequeo cambios posteriores
  then { aqui creo un fdquery y ejecuto alter table y agrego o modifico estructura de las tablas, pongo version =18 y y ejecuto el query}

Y asi cada vez que hago cambios en la estructura de Firebird, agrego varias lineas en el EXE, para que si el exe fue encuentra una version desactualizada de la Base de datos la pueda actualizar, pero se me torna incomodo.

¿existe alguna forma de hacerlo todo en SQL, y dejar solo un Query que se ejecute al iniciar y el mismo query compare la version actual de la Base de datos con las diferentes versiones de cambios posteriores y vaya aplicando los cambios necesarios?

Espero que se entienda la idea de lo que quiero lograr? .

Muchas gracias
Responder Con Cita