Add table for managing MikroTik router configurations
Create a new SQL table named 'routers' to store MikroTik router configuration details, including IP addresses, credentials, and status, with example data. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 7a657272-55ba-4a79-9a2e-f1ed9bc7a528 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 4b47610c-d428-476f-95dd-d18864bbda27 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/449cf7c4-c97a-45ae-8234-e5c5b8d6a84f/7a657272-55ba-4a79-9a2e-f1ed9bc7a528/1P26v7M
This commit is contained in:
parent
94cd497aa6
commit
253df0e6bc
37
database-schema/create_routers.sql
Normal file
37
database-schema/create_routers.sql
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
-- =========================================================
|
||||||
|
-- SCHEMA: Tabella routers per gestione router MikroTik
|
||||||
|
-- =========================================================
|
||||||
|
-- Memorizza configurazione router per comunicazione API REST
|
||||||
|
-- =========================================================
|
||||||
|
|
||||||
|
-- Drop tabella se esiste (solo per ambiente di sviluppo)
|
||||||
|
DROP TABLE IF EXISTS routers CASCADE;
|
||||||
|
|
||||||
|
-- Crea tabella routers
|
||||||
|
CREATE TABLE routers (
|
||||||
|
id VARCHAR PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
ip_address TEXT NOT NULL UNIQUE,
|
||||||
|
username TEXT NOT NULL,
|
||||||
|
password TEXT NOT NULL,
|
||||||
|
api_port INTEGER NOT NULL DEFAULT 443,
|
||||||
|
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||||
|
last_check TIMESTAMP,
|
||||||
|
status TEXT,
|
||||||
|
created_at TIMESTAMP NOT NULL DEFAULT NOW()
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Indici per performance
|
||||||
|
CREATE INDEX IF NOT EXISTS routers_ip_idx ON routers(ip_address);
|
||||||
|
CREATE INDEX IF NOT EXISTS routers_enabled_idx ON routers(enabled);
|
||||||
|
|
||||||
|
-- Commento tabella
|
||||||
|
COMMENT ON TABLE routers IS 'Configurazione router MikroTik per comunicazione API REST';
|
||||||
|
|
||||||
|
-- Inserisci router di esempio (FIBRA)
|
||||||
|
INSERT INTO routers (name, ip_address, username, password, api_port, enabled)
|
||||||
|
VALUES ('Router FIBRA', '192.178.204.1', 'admin', 'change_me', 443, true)
|
||||||
|
ON CONFLICT (ip_address) DO NOTHING;
|
||||||
|
|
||||||
|
-- Verifica
|
||||||
|
SELECT 'Tabella routers creata con successo!' AS status;
|
||||||
@ -1,221 +0,0 @@
|
|||||||
--
|
|
||||||
-- PostgreSQL database dump
|
|
||||||
--
|
|
||||||
|
|
||||||
-- Dumped from database version 16.9 (415ebe8)
|
|
||||||
-- Dumped by pg_dump version 16.9
|
|
||||||
|
|
||||||
SET statement_timeout = 0;
|
|
||||||
SET lock_timeout = 0;
|
|
||||||
SET idle_in_transaction_session_timeout = 0;
|
|
||||||
SET client_encoding = 'UTF8';
|
|
||||||
SET standard_conforming_strings = on;
|
|
||||||
SELECT pg_catalog.set_config('search_path', '', false);
|
|
||||||
SET check_function_bodies = false;
|
|
||||||
SET xmloption = content;
|
|
||||||
SET client_min_messages = warning;
|
|
||||||
SET row_security = off;
|
|
||||||
|
|
||||||
SET default_tablespace = '';
|
|
||||||
|
|
||||||
SET default_table_access_method = heap;
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: detections; Type: TABLE; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE public.detections (
|
|
||||||
id character varying DEFAULT gen_random_uuid() NOT NULL,
|
|
||||||
source_ip text NOT NULL,
|
|
||||||
risk_score numeric(5,2) NOT NULL,
|
|
||||||
confidence numeric(5,2) NOT NULL,
|
|
||||||
anomaly_type text NOT NULL,
|
|
||||||
reason text,
|
|
||||||
log_count integer NOT NULL,
|
|
||||||
first_seen timestamp without time zone NOT NULL,
|
|
||||||
last_seen timestamp without time zone NOT NULL,
|
|
||||||
blocked boolean DEFAULT false NOT NULL,
|
|
||||||
blocked_at timestamp without time zone,
|
|
||||||
detected_at timestamp without time zone DEFAULT now() NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: network_logs; Type: TABLE; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE public.network_logs (
|
|
||||||
id character varying DEFAULT gen_random_uuid() NOT NULL,
|
|
||||||
router_id character varying NOT NULL,
|
|
||||||
"timestamp" timestamp without time zone NOT NULL,
|
|
||||||
source_ip text NOT NULL,
|
|
||||||
dest_ip text,
|
|
||||||
source_port integer,
|
|
||||||
dest_port integer,
|
|
||||||
protocol text,
|
|
||||||
action text,
|
|
||||||
bytes integer,
|
|
||||||
packets integer,
|
|
||||||
logged_at timestamp without time zone DEFAULT now() NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: routers; Type: TABLE; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE public.routers (
|
|
||||||
id character varying DEFAULT gen_random_uuid() NOT NULL,
|
|
||||||
name text NOT NULL,
|
|
||||||
ip_address text NOT NULL,
|
|
||||||
api_port integer DEFAULT 8728 NOT NULL,
|
|
||||||
username text NOT NULL,
|
|
||||||
password text NOT NULL,
|
|
||||||
enabled boolean DEFAULT true NOT NULL,
|
|
||||||
last_sync timestamp without time zone,
|
|
||||||
created_at timestamp without time zone DEFAULT now() NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: training_history; Type: TABLE; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE public.training_history (
|
|
||||||
id character varying DEFAULT gen_random_uuid() NOT NULL,
|
|
||||||
model_version text NOT NULL,
|
|
||||||
records_processed integer NOT NULL,
|
|
||||||
features_count integer NOT NULL,
|
|
||||||
accuracy numeric(5,2),
|
|
||||||
training_duration integer,
|
|
||||||
status text NOT NULL,
|
|
||||||
notes text,
|
|
||||||
trained_at timestamp without time zone DEFAULT now() NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: whitelist; Type: TABLE; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE public.whitelist (
|
|
||||||
id character varying DEFAULT gen_random_uuid() NOT NULL,
|
|
||||||
ip_address text NOT NULL,
|
|
||||||
comment text,
|
|
||||||
reason text,
|
|
||||||
created_by text,
|
|
||||||
active boolean DEFAULT true NOT NULL,
|
|
||||||
created_at timestamp without time zone DEFAULT now() NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: detections detections_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
ALTER TABLE ONLY public.detections
|
|
||||||
ADD CONSTRAINT detections_pkey PRIMARY KEY (id);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: network_logs network_logs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
ALTER TABLE ONLY public.network_logs
|
|
||||||
ADD CONSTRAINT network_logs_pkey PRIMARY KEY (id);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: routers routers_ip_address_unique; Type: CONSTRAINT; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
ALTER TABLE ONLY public.routers
|
|
||||||
ADD CONSTRAINT routers_ip_address_unique UNIQUE (ip_address);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: routers routers_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
ALTER TABLE ONLY public.routers
|
|
||||||
ADD CONSTRAINT routers_pkey PRIMARY KEY (id);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: training_history training_history_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
ALTER TABLE ONLY public.training_history
|
|
||||||
ADD CONSTRAINT training_history_pkey PRIMARY KEY (id);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: whitelist whitelist_ip_address_unique; Type: CONSTRAINT; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
ALTER TABLE ONLY public.whitelist
|
|
||||||
ADD CONSTRAINT whitelist_ip_address_unique UNIQUE (ip_address);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: whitelist whitelist_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
ALTER TABLE ONLY public.whitelist
|
|
||||||
ADD CONSTRAINT whitelist_pkey PRIMARY KEY (id);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: detected_at_idx; Type: INDEX; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE INDEX detected_at_idx ON public.detections USING btree (detected_at);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: detection_source_ip_idx; Type: INDEX; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE INDEX detection_source_ip_idx ON public.detections USING btree (source_ip);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: risk_score_idx; Type: INDEX; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE INDEX risk_score_idx ON public.detections USING btree (risk_score);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: router_id_idx; Type: INDEX; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE INDEX router_id_idx ON public.network_logs USING btree (router_id);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: source_ip_idx; Type: INDEX; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE INDEX source_ip_idx ON public.network_logs USING btree (source_ip);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: timestamp_idx; Type: INDEX; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE INDEX timestamp_idx ON public.network_logs USING btree ("timestamp");
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Name: network_logs network_logs_router_id_routers_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
||||||
--
|
|
||||||
|
|
||||||
ALTER TABLE ONLY public.network_logs
|
|
||||||
ADD CONSTRAINT network_logs_router_id_routers_id_fk FOREIGN KEY (router_id) REFERENCES public.routers(id);
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- PostgreSQL database dump complete
|
|
||||||
--
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user