feature/mejora-del-side-bar

This commit is contained in:
2026-07-02 10:57:58 -06:00
parent 1b198953d4
commit c93d6691af
9 changed files with 543 additions and 147 deletions

View File

@@ -106,6 +106,28 @@ ALTER TABLE a24c.database_nodes
ADD COLUMN IF NOT EXISTS restore_target_id INTEGER
REFERENCES a24c.restore_targets (id) ON DELETE SET NULL;
-- Backfill único: la credencial SQL del nodo (database_nodes.sql_password, columna de a24c) se
-- copia del restaurador asignado como sobre cifrado gcm: (el panel lo descifra al conectar).
-- Idempotente: solo rellena nodos ya asignados sin contraseña; no pisa valores existentes.
-- Guardado por si a24c aún no aprovisionó la columna sql_password (evita romper el init).
-- Rollback: UPDATE a24c.database_nodes SET sql_password = NULL;
DO $$
BEGIN
IF EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_schema = 'a24c'
AND table_name = 'database_nodes'
AND column_name = 'sql_password'
) THEN
UPDATE a24c.database_nodes n
SET sql_password = rt.sql_password_encrypted
FROM a24c.restore_targets rt
WHERE n.restore_target_id = rt.id
AND rt.sql_password_encrypted IS NOT NULL
AND (n.sql_password IS NULL OR n.sql_password = '');
END IF;
END $$;
-- Bitácora de restauraciones reportadas por CloudRestoreAS.
CREATE TABLE IF NOT EXISTS a24c.restore_job_logs (
id SERIAL PRIMARY KEY,