FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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
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 |
#2
|
||||
|
||||
Si no he entendido mal, tienes muchas opciones. Por ejemplo, tienes todas los cambios en la BD en una tabla específica, algo así como:
Cita:
Y en tu BD del programa puedes tener un campo que sea algo así como: Cita:
Finalmente cambias ultimasentenciaejecutada por 5, en este caso. |
#3
|
|||
|
|||
Cita:
Y yo guardaba en la BD en un integer de formato 2208181840 (que significa año mes dia y hora del cambio de la BD). Y lo que me esta pasando es que tengo como 30 procedimientos (uno por cada día que hice cambios en la BD) Y buscaba una idea de como organizar mejor todos los procedimientos dentro del código fuente. Pensaba en un futuro ir eliminando los procedimientos primeros para limpiar código que ya será inservible. |
#4
|
|||
|
|||
se me ocurre almacenar en un clientdataset todos los numeros de version de la BD, y en un campo blob el string de sql a ejecutar para actualizar a dichos cambios
|
#5
|
||||
|
||||
Clientdataset no es algo que esté grabado sino algo que lees a memoria, se pierde al cerrar.
Te aconsejo algo como he indicado. |
#6
|
|||
|
|||
Tenes razon, en el entusiasmo se me pasó ese detalle.
Y grabarlo a disco no me sirve porque entraría en la misma cuestión que quiero controlar. Serviria alguna forma de tabla en memoria que la pueda editar en tiempo de diseño y se grabe en el exe. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
[FireDAC] Desconexión a la Base de Datos | MAXIUM | Conexión con bases de datos | 4 | 14-06-2021 20:12:59 |
Filtrar Base de Datos FireDac | pokexperto1 | Conexión con bases de datos | 6 | 03-10-2015 00:26:07 |
Controlar Cambios en la Base de Datos | afunez2007 | MS SQL Server | 5 | 12-07-2013 18:04:12 |
Chequear integridad base de datos | Toni | Firebird e Interbase | 4 | 09-01-2013 20:02:34 |
Como hacer conexión de una base de datos en firebird. | Niiña | Conexión con bases de datos | 5 | 28-11-2011 22:43:04 |
|