DELPHIHEAVEN · GUÍA PRÁCTICA
Migraciones de esquema SQLite sin perder datos
Se incorpora una nueva columna sin eliminar ventas históricas.
Los ejemplos muestran el patrón técnico; se adaptan al esquema real, se revisan y se prueban en una base de ensayo.
El problema real
CREATE TABLE IF NOT EXISTS no modifica una tabla que ya existe. PC Shop utiliza migraciones explícitas para actualizar instalaciones antiguas sin perder registros anteriores.
Inspeccionar el esquema
PRAGMA table_info(VENTAS);
Ejemplo de migración
ALTER TABLE VENTAS
ADD COLUMN Trazable INTEGER NOT NULL DEFAULT 0;
Procedimiento
- Se comprueba que existe una copia de seguridad recuperable.
- Se consulta si la columna ya está presente; no se ejecuta dos veces el mismo
ALTER TABLE. - Se aplica el cambio a una base de prueba.
- Se consulta
PRAGMA integrity_checkyPRAGMA foreign_key_check. - Se comprueba que las ventas antiguas siguen siendo accesibles.
Compatibilidad del modelo
La marca Trazable=0 distingue inicialmente registros anteriores a la nueva regla. Antes de añadir índices únicos sobre movimientos se revisa si el esquema admite varias líneas y movimientos por venta.
Referencias (APA 7)
SQLite. (s. f.). PRAGMA statements. https://www.sqlite.org/pragma.html.
101aero. (s. f.). PC Shop [Repositorio de código]. https://github.com/101aero/PcshopPV.