implementacion completa del sistema de monitorizacion y dashboard
This commit is contained in:
28
deployment/database/migrations/001_init.sql
Normal file
28
deployment/database/migrations/001_init.sql
Normal file
@@ -0,0 +1,28 @@
|
||||
-- 1. Comprobando nombres de tablas, y creando tipo de forma seguro
|
||||
DROP TABLE IF EXISTS estados;
|
||||
DROP TABLE IF EXISTS proyectos;
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'tipo_estado') THEN
|
||||
CREATE TYPE tipo_estado AS ENUM ('OK', 'ERROR', 'TIMEOUT');
|
||||
END IF;
|
||||
END
|
||||
$$;
|
||||
|
||||
-- 2. Tabla de proyectos
|
||||
CREATE TABLE proyectos (
|
||||
id INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
||||
nombre VARCHAR(100) NOT NULL,
|
||||
url_health TEXT NOT NULL
|
||||
);
|
||||
|
||||
-- 3. Tabla de estados (con BIGINT y ENUM)
|
||||
CREATE TABLE estados (
|
||||
id BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
||||
proyecto_id INT REFERENCES proyectos(id),
|
||||
estado_codigo tipo_estado NOT NULL,
|
||||
fecha TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
-- 4. Índice para agilizar la búsqueda de los últimos estados
|
||||
CREATE INDEX idx_estados_proyecto_fecha ON estados (proyecto_id, fecha DESC);
|
||||
Reference in New Issue
Block a user