DELPHIHEAVEN · GUÍA PRÁCTICA
Copia de seguridad SQLite con TFDSQLiteBackup
Una copia consistente del fichero de datos, incluso cuando la aplicación mantiene la base abierta.
Los fragmentos son ejemplos didácticos; se adaptan los nombres y rutas al proyecto y se comprueban en Delphi antes de utilizarlos en producción.
Cuándo se utiliza
PC Shop incorpora respaldos de pcshop.db desde el Data Module. En lugar de copiar sin más el archivo abierto, FireDAC proporciona TFDSQLiteBackup, basado en el mecanismo de copia de SQLite. Se utiliza una ruta de destino nueva y un nombre con fecha para conservar distintas versiones.
Configurar el componente
- Se añade
TFDSQLiteBackupal Data Module y se configura el driver SQLite. - Se determina la ruta de origen de
pcshop.db. - Se crea la carpeta
backupssi no existe y se prepara un archivo de destino diferente. - Se invoca la copia y se registran las excepciones.
Ejemplo en Object Pascal
FDSQLiteBackup1.Database := RutaOrigen;
FDSQLiteBackup1.DestDatabase := RutaDestino;
FDSQLiteBackup1.DestMode := smCreate;
FDSQLiteBackup1.WaitForLocks := True;
FDSQLiteBackup1.BusyTimeout := 10000;
FDSQLiteBackup1.Backup;
Comprobar el respaldo
Se verifica que el nuevo archivo existe y que su tamaño es mayor que cero. Se abre una copia aislada y se ejecuta PRAGMA integrity_check;. La prueba completa incluye una restauración en una base de datos de ensayo. Una copia no se considera fiable solo por existir.
Referencias (APA 7)
Embarcadero Technologies. (s. f.). TFDSQLiteBackup. RAD Studio API Documentation.
Embarcadero Technologies. (s. f.). Using SQLite with FireDAC. RAD Studio Documentation.
SQLite. (s. f.). PRAGMA statements. SQLite Documentation.