Backups para ggs
- hacemos comparación de texto de 1era fila del CSV del backup actual contra el anterior (analizar por linea)
- si tiene las mismas columnas que el backup anterior -> ir a paso 3) "Importar Backup"
- si agrega nuevas columnas -> ir a paso 2) "generando campos desde nuevo backup"
- si saca columnas previas -> analizar que hacer (por ahora dejamos pendiente)
- Copiamos archivos de ultimo html de diseño de cuestionario en carpeta src/parsing/extraer_disenio_cuestionario
- abrimos ultimo html de diseño de cuestionario en browser
- corremos script extraer_variables_en_html.js en consola del browser
- copiamos el resultado del script en local-campos-cuestionario-html.txt
- copiamos archivo csv del backup en carpeta src/parsing/recortar_repetidos, le dejamos solo el header (la primera linea) y actualizamos referencia en parseBackup.js
- correr script por debugger VSCode o por consola: $ node src/parsing/recortar_repetidos/parseBackup.js
- copiar resultado de local-generated-fields.txt a sección fields de table_backups.ts
- sacar respid (porque lo construye con type text y va con integer)
- npm run build, npm start -- --dump-db
- Editar local-db-dump
- si es la primera vez correr create user admin (SIN CREACIÓN DB) (el owner no porque es el mismo)
- borrar la creación de tablas del schema his (summarize, token, bitacora), y sus constraints
- al final del archivo db-dump.sql agregarle prefijo "base." a los llamados a enance_table
GRANT CONNECT ON database "ggs2025_db" to "ggs_backups2025_admin"; GRANT USAGE ON schema "base" to ggs_backups2025_admin; GRANT USAGE ON schema "his" to ggs_backups2025_admin; GRANT SELECT ON base.tareas_tem to ggs_backups2025_admin; GRANT SELECT ON base.tem_blaise to ggs_backups2025_admin; GRANT SELECT ON base.viviendas to ggs_backups2025_admin; GRANT SELECT ON base.tem to ggs_backups2025_admin;
GRANT SELECT ON base.secuencia_bitacora to ggs_backups2025_admin; GRANT USAGE, SELECT ON SEQUENCE base.secuencia_bitacora TO ggs_backups2025_admin; GRANT UPDATE ON SEQUENCE base.secuencia_bitacora TO ggs_backups2025_admin;
GRANT SELECT, INSERT, UPDATE, DELETE ON his.bitacora to ggs_backups2025_admin; GRANT SELECT ON his.summary to ggs_backups2025_admin; GRANT SELECT ON his.tokens to ggs_backups2025_admin;
GRANT USAGE ON schema "backups" to ggs2025_admin; GRANT SELECT ON backups.backups to ggs2025_admin;
- copiar resultado a sección fields de table_backups.ts
- sacar respid (porque lo construye con type text y va con integer)
- que no haga falta ignorar el archivo en .gitignore
- que no haga falta actualizar al referencia al nuevo archivo csv de backup
- Generar excel desde backup CSV
- crear nuevo lote
- desplegar detalle B del lote
- importar archivo (tildar "saltear columnas que no existan")
- analizar si los salteados son solamente los repetidos del _17 al _20 haciendo comparación de archivo ultimos_salteados.txt con el output de la importación) (reemplazar ', ' por '\n')