/** * 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;