From 310e0130c2cf0fd10341dcf08e5d2cf2cf061deb Mon Sep 17 00:00:00 2001 From: hreyes Date: Fri, 5 Jun 2026 12:57:42 -0600 Subject: [PATCH] =?UTF-8?q?chore:=20eliminar=20migrations=20SQL=20duplicad?= =?UTF-8?q?as=20=E2=80=94=20Alembic=20es=20fuente=20de=20verdad?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit database/migrations/001_restore_targets y 002_cloudrestore_status duplican exactamente la migración c4d5e6f7a8b9 de Alembic en a24c. Ningún script las referenciaba; se aplican desde a24c con alembic upgrade head. Co-Authored-By: Claude Sonnet 4.6 --- .../migrations/001_restore_targets.down.sql | 8 --- .../migrations/001_restore_targets.up.sql | 49 ------------------- .../002_cloudrestore_status.down.sql | 3 -- .../migrations/002_cloudrestore_status.up.sql | 17 ------- 4 files changed, 77 deletions(-) delete mode 100644 database/migrations/001_restore_targets.down.sql delete mode 100644 database/migrations/001_restore_targets.up.sql delete mode 100644 database/migrations/002_cloudrestore_status.down.sql delete mode 100644 database/migrations/002_cloudrestore_status.up.sql diff --git a/database/migrations/001_restore_targets.down.sql b/database/migrations/001_restore_targets.down.sql deleted file mode 100644 index 83c2449..0000000 --- a/database/migrations/001_restore_targets.down.sql +++ /dev/null @@ -1,8 +0,0 @@ --- Migración 001 (DOWN): revierte la integración CloudRestoreAS. --- Se quita primero la columna de asignación y la tabla dependiente. - -ALTER TABLE a24c.database_nodes DROP COLUMN IF EXISTS restore_target_id; - -DROP TABLE IF EXISTS a24c.restore_job_logs; - -DROP TABLE IF EXISTS a24c.restore_targets; diff --git a/database/migrations/001_restore_targets.up.sql b/database/migrations/001_restore_targets.up.sql deleted file mode 100644 index a3c458d..0000000 --- a/database/migrations/001_restore_targets.up.sql +++ /dev/null @@ -1,49 +0,0 @@ --- Migración 001 (UP): integración CloudRestoreAS. --- Servidores de restauración (Alfa/Omega/Gamma) + asignación por base de datos --- (database_nodes.restore_target_id) + bitácora de jobs. Idempotente. --- Rollback en 001_restore_targets.down.sql. - -CREATE SCHEMA IF NOT EXISTS a24c; - -CREATE TABLE IF NOT EXISTS a24c.restore_targets ( - id SERIAL PRIMARY KEY, - name VARCHAR(120) NOT NULL UNIQUE, - server_ip VARCHAR(255), - sql_username VARCHAR(128), - sql_password_encrypted TEXT, - data_folder VARCHAR(500), - ssh_host VARCHAR(255), - ssh_port INTEGER DEFAULT 22, - ssh_username VARCHAR(128), - ssh_password_encrypted TEXT, - remote_inbox_path VARCHAR(500), - notes TEXT, - created_at TIMESTAMPTZ NOT NULL DEFAULT now(), - updated_at TIMESTAMPTZ NOT NULL DEFAULT now() -); - -INSERT INTO a24c.restore_targets (name) VALUES ('Alfa'), ('Omega'), ('Gamma') -ON CONFLICT (name) DO NOTHING; - --- Columna de asignación en database_nodes (tabla aprovisionada por el backend a24c). -ALTER TABLE a24c.database_nodes - ADD COLUMN IF NOT EXISTS restore_target_id INTEGER - REFERENCES a24c.restore_targets (id) ON DELETE SET NULL; - -CREATE TABLE IF NOT EXISTS a24c.restore_job_logs ( - id SERIAL PRIMARY KEY, - filename VARCHAR(500) NOT NULL, - restore_target_id INTEGER REFERENCES a24c.restore_targets (id) ON DELETE SET NULL, - db_name VARCHAR(255), - status VARCHAR(20) NOT NULL CHECK (status IN ('completed', 'failed', 'forwarded')), - duration_ms INTEGER, - error_message TEXT, - restored_at TIMESTAMPTZ NOT NULL DEFAULT now() -); - -CREATE INDEX IF NOT EXISTS idx_a24c_restore_job_logs_target - ON a24c.restore_job_logs (restore_target_id); -CREATE INDEX IF NOT EXISTS idx_a24c_restore_job_logs_restored_at - ON a24c.restore_job_logs (restored_at); -CREATE INDEX IF NOT EXISTS idx_a24c_restore_job_logs_status - ON a24c.restore_job_logs (status); diff --git a/database/migrations/002_cloudrestore_status.down.sql b/database/migrations/002_cloudrestore_status.down.sql deleted file mode 100644 index 9865934..0000000 --- a/database/migrations/002_cloudrestore_status.down.sql +++ /dev/null @@ -1,3 +0,0 @@ -SET search_path TO a24c, public; - -DROP TABLE IF EXISTS a24c.cloudrestore_status; diff --git a/database/migrations/002_cloudrestore_status.up.sql b/database/migrations/002_cloudrestore_status.up.sql deleted file mode 100644 index 096fc9f..0000000 --- a/database/migrations/002_cloudrestore_status.up.sql +++ /dev/null @@ -1,17 +0,0 @@ --- Estado reportado por CloudRestoreAS (carpeta de entrada, host, versión). --- Solo CloudRestoreAS escribe vía POST /api/restore/instance-config; el panel solo consulta. --- Rollback en 002_cloudrestore_status.down.sql. - -SET search_path TO a24c, public; - -CREATE TABLE IF NOT EXISTS a24c.cloudrestore_status ( - id SERIAL PRIMARY KEY, - instance_key VARCHAR(120) NOT NULL UNIQUE DEFAULT 'default', - input_folder VARCHAR(500) NOT NULL, - host_name VARCHAR(255), - app_version VARCHAR(50), - reported_at TIMESTAMPTZ NOT NULL DEFAULT now() -); - -COMMENT ON TABLE a24c.cloudrestore_status IS - 'Carpeta de entrada vigente reportada por CloudRestoreAS. Solo lectura en el panel.';