41 lines
2.0 KiB
SQL
41 lines
2.0 KiB
SQL
-- ============================================================
|
|
-- Del Austral — Migración de base de datos (versión 7)
|
|
-- ============================================================
|
|
-- Agrega a la papelera (legajos_eliminados) las columnas
|
|
-- profesional_id_original y sede_id_original, para que el
|
|
-- Desarrollador pueda filtrar la papelera por profesional/sede
|
|
-- y recuperar un legajo asignándolo a otro profesional.
|
|
--
|
|
-- No borra ni modifica pacientes, sesiones, citas ni adjuntos.
|
|
-- Los registros de papelera que ya existían antes de esta
|
|
-- migración van a intentar rellenarse automáticamente a partir
|
|
-- del JSON guardado (ver el UPDATE al final). Si por la versión
|
|
-- de tu MySQL ese paso no funciona, esos registros viejos
|
|
-- quedan en NULL — todavía se pueden ver, pero no aparecen al
|
|
-- filtrar la papelera por un profesional específico.
|
|
--
|
|
-- Cómo aplicarlo:
|
|
-- 1. Entrá a phpMyAdmin → tu base de datos.
|
|
-- 2. Pestaña "SQL" (no "Importar").
|
|
-- 3. Pegá todo este archivo y ejecutá.
|
|
-- ============================================================
|
|
|
|
SET NAMES utf8mb4;
|
|
|
|
ALTER TABLE legajos_eliminados ADD COLUMN profesional_id_original INT NULL AFTER paciente_id_original;
|
|
ALTER TABLE legajos_eliminados ADD COLUMN sede_id_original INT NULL AFTER profesional_id_original;
|
|
|
|
ALTER TABLE legajos_eliminados ADD INDEX idx_papelera_profesional (profesional_id_original);
|
|
ALTER TABLE legajos_eliminados ADD INDEX idx_papelera_sede (sede_id_original);
|
|
|
|
-- Intento de mejor esfuerzo: para los registros que ya existían,
|
|
-- rellenamos esas columnas a partir del JSON guardado, donde sea
|
|
-- posible (MySQL 5.7+/MariaDB 10.2+ con soporte de JSON_EXTRACT).
|
|
-- Si tu versión no soporta estas funciones, esta consulta puede
|
|
-- fallar — no afecta el resto de la migración, ya corrida arriba.
|
|
UPDATE legajos_eliminados
|
|
SET
|
|
profesional_id_original = JSON_UNQUOTE(JSON_EXTRACT(datos_json, '$.profesional_id')),
|
|
sede_id_original = JSON_UNQUOTE(JSON_EXTRACT(datos_json, '$.sede_id'))
|
|
WHERE profesional_id_original IS NULL;
|