33 lines
1.0 KiB
SQL
33 lines
1.0 KiB
SQL
/**
|
|
* Para la tarea WEBINT-328-Pausas-cacelaciones.
|
|
* Almacena las pausas/cancelaciones que no se han podido hacer porque la linea esta en
|
|
* "Test"
|
|
*/
|
|
|
|
|
|
DO $$ BEGIN
|
|
CREATE TYPE SUSPENDTERMINATE AS ENUM ('suspend','terminate');
|
|
EXCEPTION
|
|
WHEN duplicate_object THEN null;
|
|
END $$;
|
|
|
|
CREATE TABLE IF NOT EXISTS pause_cancel_tasks (
|
|
id BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
|
iccid TEXT NOT NULL,
|
|
operation_type SUSPENDTERMINATE,
|
|
last_checked TIMESTAMPTZ, -- Última vez que se ha comprobado que no esté en test
|
|
activation_date TIMESTAMPTZ, -- Fecha de activacion para comprobar si ha pasdo un mes
|
|
next_check TIMESTAMPTZ, -- Si se ha comprobado se asignará la siguiente fecha de revision
|
|
|
|
completed_date TIMESTAMPTZ, -- Cuando se ha completado, para bien o mal.
|
|
error TEXT,
|
|
action_data JSONB -- datos de la operacion original.
|
|
);
|
|
|
|
-- Indice de las tareas que no han terminado
|
|
CREATE INDEX idx_pause_cancel_tasks_pending
|
|
ON pause_cancel_tasks (next_check)
|
|
WHERE completed_date IS NULL;
|
|
|
|
|