Добавление полного бэкапа БД НН

This commit is contained in:
2026-06-09 09:30:39 +03:00
parent 12ef49832e
commit a97a796fb0

View File

@@ -0,0 +1,640 @@
--
-- PostgreSQL database dump
--
\restrict rWgv9Lrdp6aUlx4m78Q5taMiGZPMYSi2kZvE4Yoeg8bEzxclehA1eKWafZgUpuj
-- Dumped from database version 18.4
-- Dumped by pg_dump version 18.4
-- Started on 2026-05-25 22:26:40
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET transaction_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;
--
-- TOC entry 6 (class 2615 OID 16816)
-- Name: nn_db; Type: SCHEMA; Schema: -; Owner: postgres
--
CREATE SCHEMA nn_db;
ALTER SCHEMA nn_db OWNER TO postgres;
--
-- TOC entry 247 (class 1255 OID 16922)
-- Name: application_get(integer); Type: FUNCTION; Schema: nn_db; Owner: postgres
--
CREATE FUNCTION nn_db.application_get(in_pk_user integer) RETURNS TABLE(pk_application integer, car_number character varying, description character varying, fk_status integer, title character varying, fk_user integer, username character varying, pk_image integer, file_name character varying, file_ext character varying)
LANGUAGE plpgsql
AS $$
BEGIN
RETURN QUERY SELECT
nn_db.application.pk_application
, nn_db.application.car_number
, nn_db.application.description
, nn_db.application.fk_status
, nn_db.status.title
, nn_db.application.fk_user
, nn_db.user.username
, nn_db.image.pk_image
, nn_db.image.file_name
, nn_db.image.file_ext
FROM nn_db.application
INNER JOIN nn_db.status
ON nn_db.status.pk_status = nn_db.application.fk_status
INNER JOIN nn_db.user
ON nn_db.user.pk_user = nn_db.application.fk_user
LEFT JOIN nn_db.image
ON nn_db.image.fk_application = nn_db.application.pk_application
WHERE
CASE WHEN in_pk_user IS NULL
THEN nn_db.application.fk_user IN (SELECT nn_db.user.pk_user FROM nn_db.user)
ELSE
nn_db.application.fk_user = in_pk_user
END
ORDER BY nn_db.application.pk_application;
END;
$$;
ALTER FUNCTION nn_db.application_get(in_pk_user integer) OWNER TO postgres;
--
-- TOC entry 229 (class 1255 OID 16914)
-- Name: application_patch(integer, integer); Type: FUNCTION; Schema: nn_db; Owner: postgres
--
CREATE FUNCTION nn_db.application_patch(in_pk_application integer, in_fk_status integer) RETURNS TABLE(confirm boolean)
LANGUAGE plpgsql
AS $$
BEGIN
UPDATE nn_db.application
SET nn_db.application.fk_status = in_fk_status
WHERE
nn_db.application.pk_application = in_pk_application;
RETURN QUERY SELECT (
CASE WHEN
(SELECT fk_status FROM nn_db.application WHERE pk_application = in_pk_application LIMIT 1) = in_fk_status
THEN True
ELSE False
END);
END;
$$;
ALTER FUNCTION nn_db.application_patch(in_pk_application integer, in_fk_status integer) OWNER TO postgres;
--
-- TOC entry 244 (class 1255 OID 16908)
-- Name: application_post(character varying, character varying, integer); Type: FUNCTION; Schema: nn_db; Owner: postgres
--
CREATE FUNCTION nn_db.application_post(in_car_number character varying, in_description character varying, in_fk_user integer) RETURNS TABLE(pk_application integer)
LANGUAGE plpgsql
AS $$
BEGIN
INSERT INTO nn_db.application (
car_number
, description
, fk_status
, fk_user)
VALUES (
in_car_number
, in_description
, (SELECT MIN(nn_db.status.pk_status) FROM nn_db.status)
, in_fk_user);
RETURN QUERY SELECT
MAX(nn_db.application.pk_application)
FROM nn_db.application;
END;
$$;
ALTER FUNCTION nn_db.application_post(in_car_number character varying, in_description character varying, in_fk_user integer) OWNER TO postgres;
--
-- TOC entry 246 (class 1255 OID 16917)
-- Name: image_post(character varying, character varying, integer); Type: FUNCTION; Schema: nn_db; Owner: postgres
--
CREATE FUNCTION nn_db.image_post(in_file_name character varying, in_file_ext character varying, in_fk_application integer) RETURNS TABLE(pk_image integer)
LANGUAGE plpgsql
AS $$
BEGIN
INSERT INTO nn_db.image (file_name, file_ext, fk_application)
VALUES (in_file_name, in_file_ext, in_fk_application);
RETURN QUERY SELECT MAX(nn_db.image.pk_image) FROM nn_db.image;
END;
$$;
ALTER FUNCTION nn_db.image_post(in_file_name character varying, in_file_ext character varying, in_fk_application integer) OWNER TO postgres;
--
-- TOC entry 230 (class 1255 OID 16915)
-- Name: status_get(); Type: FUNCTION; Schema: nn_db; Owner: postgres
--
CREATE FUNCTION nn_db.status_get() RETURNS TABLE(pk_status integer, title character varying)
LANGUAGE plpgsql
AS $$
BEGIN
RETURN QUERY SELECT
nn_db.status.pk_status, nn_db.status.title
FROM nn_db.status
ORDER BY nn_db.status.pk_status;
END;
$$;
ALTER FUNCTION nn_db.status_get() OWNER TO postgres;
--
-- TOC entry 241 (class 1255 OID 16916)
-- Name: status_post(character varying); Type: FUNCTION; Schema: nn_db; Owner: postgres
--
CREATE FUNCTION nn_db.status_post(in_title character varying) RETURNS TABLE(pk_status integer)
LANGUAGE plpgsql
AS $$
BEGIN
INSERT INTO nn_db.status (title)
VALUES (in_title);
RETURN QUERY SELECT MAX(nn_db.status.pk_status) FROM nn_db.status;
END;
$$;
ALTER FUNCTION nn_db.status_post(in_title character varying) OWNER TO postgres;
--
-- TOC entry 228 (class 1255 OID 16921)
-- Name: user_activate(integer); Type: FUNCTION; Schema: nn_db; Owner: postgres
--
CREATE FUNCTION nn_db.user_activate(in_pk_user integer) RETURNS TABLE(confirm boolean)
LANGUAGE plpgsql
AS $$
BEGIN
UPDATE nn_db.user
SET is_active = True
WHERE
pk_user = in_pk_user;
RETURN QUERY SELECT
is_active = True
FROM nn_db.user
WHERE
nn_db.user.pk_user = in_pk_user;
END;
$$;
ALTER FUNCTION nn_db.user_activate(in_pk_user integer) OWNER TO postgres;
--
-- TOC entry 243 (class 1255 OID 16920)
-- Name: user_get(character varying); Type: FUNCTION; Schema: nn_db; Owner: postgres
--
CREATE FUNCTION nn_db.user_get(in_search_value character varying) RETURNS TABLE(pk_user integer, lastname character varying, firstname character varying, middlename character varying, username character varying, password_hash character varying, email character varying, phone character varying, is_admin boolean, is_active boolean)
LANGUAGE plpgsql
AS $$
BEGIN
RETURN QUERY SELECT
nn_db.user.pk_user
, nn_db.user.lastname
, nn_db.user.firstname
, nn_db.user.middlename
, nn_db.user.username
, nn_db.user.password_hash
, nn_db.user.email
, nn_db.user.phone
, nn_db.user.is_admin
, nn_db.user.is_active
FROM nn_db.user
WHERE
nn_db.user.username ILIKE in_search_value
OR nn_db.user.email ILIKE in_search_value;
END;
$$;
ALTER FUNCTION nn_db.user_get(in_search_value character varying) OWNER TO postgres;
--
-- TOC entry 245 (class 1255 OID 16919)
-- Name: user_post(character varying, character varying, character varying, character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: nn_db; Owner: postgres
--
CREATE FUNCTION nn_db.user_post(in_lastname character varying, in_firstname character varying, in_middlename character varying, in_username character varying, in_password_hash character varying, in_email character varying, in_phone character varying) RETURNS TABLE(pk_user integer)
LANGUAGE plpgsql
AS $$
BEGIN
INSERT INTO nn_db.user(
lastname
, firstname
, middlename
, username
, password_hash
, email
, phone
, is_admin
, is_active)
VALUES(
in_lastname
, in_firstname
, in_middlename
, in_username
, in_password_hash
, in_email
, in_phone
, False
, False);
RETURN QUERY SELECT MAX(nn_db.user.pk_user) FROM nn_db.user;
END;
$$;
ALTER FUNCTION nn_db.user_post(in_lastname character varying, in_firstname character varying, in_middlename character varying, in_username character varying, in_password_hash character varying, in_email character varying, in_phone character varying) OWNER TO postgres;
SET default_tablespace = '';
SET default_table_access_method = heap;
--
-- TOC entry 225 (class 1259 OID 16848)
-- Name: application; Type: TABLE; Schema: nn_db; Owner: postgres
--
CREATE TABLE nn_db.application (
pk_application integer NOT NULL,
car_number character varying(12) NOT NULL,
description character varying(255) NOT NULL,
fk_status integer NOT NULL,
fk_user integer NOT NULL
);
ALTER TABLE nn_db.application OWNER TO postgres;
--
-- TOC entry 224 (class 1259 OID 16847)
-- Name: application_pk_application_seq; Type: SEQUENCE; Schema: nn_db; Owner: postgres
--
CREATE SEQUENCE nn_db.application_pk_application_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE nn_db.application_pk_application_seq OWNER TO postgres;
--
-- TOC entry 5011 (class 0 OID 0)
-- Dependencies: 224
-- Name: application_pk_application_seq; Type: SEQUENCE OWNED BY; Schema: nn_db; Owner: postgres
--
ALTER SEQUENCE nn_db.application_pk_application_seq OWNED BY nn_db.application.pk_application;
--
-- TOC entry 227 (class 1259 OID 16865)
-- Name: image; Type: TABLE; Schema: nn_db; Owner: postgres
--
CREATE TABLE nn_db.image (
pk_image integer NOT NULL,
file_name character varying(60) NOT NULL,
file_ext character varying(5) NOT NULL,
fk_application integer NOT NULL
);
ALTER TABLE nn_db.image OWNER TO postgres;
--
-- TOC entry 226 (class 1259 OID 16864)
-- Name: image_pk_image_seq; Type: SEQUENCE; Schema: nn_db; Owner: postgres
--
CREATE SEQUENCE nn_db.image_pk_image_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE nn_db.image_pk_image_seq OWNER TO postgres;
--
-- TOC entry 5012 (class 0 OID 0)
-- Dependencies: 226
-- Name: image_pk_image_seq; Type: SEQUENCE OWNED BY; Schema: nn_db; Owner: postgres
--
ALTER SEQUENCE nn_db.image_pk_image_seq OWNED BY nn_db.image.pk_image;
--
-- TOC entry 223 (class 1259 OID 16839)
-- Name: status; Type: TABLE; Schema: nn_db; Owner: postgres
--
CREATE TABLE nn_db.status (
pk_status integer NOT NULL,
title character varying(60) NOT NULL
);
ALTER TABLE nn_db.status OWNER TO postgres;
--
-- TOC entry 222 (class 1259 OID 16838)
-- Name: status_pk_status_seq; Type: SEQUENCE; Schema: nn_db; Owner: postgres
--
CREATE SEQUENCE nn_db.status_pk_status_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE nn_db.status_pk_status_seq OWNER TO postgres;
--
-- TOC entry 5013 (class 0 OID 0)
-- Dependencies: 222
-- Name: status_pk_status_seq; Type: SEQUENCE OWNED BY; Schema: nn_db; Owner: postgres
--
ALTER SEQUENCE nn_db.status_pk_status_seq OWNED BY nn_db.status.pk_status;
--
-- TOC entry 221 (class 1259 OID 16819)
-- Name: user; Type: TABLE; Schema: nn_db; Owner: postgres
--
CREATE TABLE nn_db."user" (
pk_user integer NOT NULL,
lastname character varying(60) NOT NULL,
firstname character varying(60) NOT NULL,
middlename character varying(60),
username character varying(60) NOT NULL,
password_hash character varying(255) NOT NULL,
email character varying(60) NOT NULL,
phone character varying(12) NOT NULL,
is_admin boolean DEFAULT false NOT NULL,
is_active boolean DEFAULT false NOT NULL
);
ALTER TABLE nn_db."user" OWNER TO postgres;
--
-- TOC entry 220 (class 1259 OID 16818)
-- Name: user_pk_user_seq; Type: SEQUENCE; Schema: nn_db; Owner: postgres
--
CREATE SEQUENCE nn_db.user_pk_user_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE nn_db.user_pk_user_seq OWNER TO postgres;
--
-- TOC entry 5014 (class 0 OID 0)
-- Dependencies: 220
-- Name: user_pk_user_seq; Type: SEQUENCE OWNED BY; Schema: nn_db; Owner: postgres
--
ALTER SEQUENCE nn_db.user_pk_user_seq OWNED BY nn_db."user".pk_user;
--
-- TOC entry 4838 (class 2604 OID 16851)
-- Name: application pk_application; Type: DEFAULT; Schema: nn_db; Owner: postgres
--
ALTER TABLE ONLY nn_db.application ALTER COLUMN pk_application SET DEFAULT nextval('nn_db.application_pk_application_seq'::regclass);
--
-- TOC entry 4839 (class 2604 OID 16868)
-- Name: image pk_image; Type: DEFAULT; Schema: nn_db; Owner: postgres
--
ALTER TABLE ONLY nn_db.image ALTER COLUMN pk_image SET DEFAULT nextval('nn_db.image_pk_image_seq'::regclass);
--
-- TOC entry 4837 (class 2604 OID 16842)
-- Name: status pk_status; Type: DEFAULT; Schema: nn_db; Owner: postgres
--
ALTER TABLE ONLY nn_db.status ALTER COLUMN pk_status SET DEFAULT nextval('nn_db.status_pk_status_seq'::regclass);
--
-- TOC entry 4834 (class 2604 OID 16822)
-- Name: user pk_user; Type: DEFAULT; Schema: nn_db; Owner: postgres
--
ALTER TABLE ONLY nn_db."user" ALTER COLUMN pk_user SET DEFAULT nextval('nn_db.user_pk_user_seq'::regclass);
--
-- TOC entry 5003 (class 0 OID 16848)
-- Dependencies: 225
-- Data for Name: application; Type: TABLE DATA; Schema: nn_db; Owner: postgres
--
COPY nn_db.application (pk_application, car_number, description, fk_status, fk_user) FROM stdin;
2 В925ОУ51 Нарушение правил парковки 1 1
3 К855МК51 Пересечение сплошной линии 1 1
4 Р355РУ86 Пересечение сплошной линии 1 2
7 О000О899 Тестовое описание 1 1
8 А952АА51 Тестовое описание 2 1 3
9 D123DD132 123123 1 1
10 L999ll00 123123321 1 2
\.
--
-- TOC entry 5005 (class 0 OID 16865)
-- Dependencies: 227
-- Data for Name: image; Type: TABLE DATA; Schema: nn_db; Owner: postgres
--
COPY nn_db.image (pk_image, file_name, file_ext, fk_application) FROM stdin;
3 file1 png 2
4 file2 png 2
5 file3 png 2
6 file3 png 3
7 file4 jpeg 3
\.
--
-- TOC entry 5001 (class 0 OID 16839)
-- Dependencies: 223
-- Data for Name: status; Type: TABLE DATA; Schema: nn_db; Owner: postgres
--
COPY nn_db.status (pk_status, title) FROM stdin;
1 Новое
2 Подтверждено
3 Отклонено
\.
--
-- TOC entry 4999 (class 0 OID 16819)
-- Dependencies: 221
-- Data for Name: user; Type: TABLE DATA; Schema: nn_db; Owner: postgres
--
COPY nn_db."user" (pk_user, lastname, firstname, middlename, username, password_hash, email, phone, is_admin, is_active) FROM stdin;
1 Петров Иван Витальевич IVPetrov some_password_hash_that_more_length ivpetrov@ya.ru 89021234567 f t
2 Ковров Михаил Сергеевич MSKovrov some_password_hash MSKovrov@mail.ru +79009282828 f t
3 Шулимов Александр Андреевич AAShulimov pbkdf2_sha256$1200000$extra$0E3KdFr8rKF1iaeEckwdMEla54AXR7xvs7hPPIMMFJE= AAShulimov@mail.ru 89021377664 f f
\.
--
-- TOC entry 5015 (class 0 OID 0)
-- Dependencies: 224
-- Name: application_pk_application_seq; Type: SEQUENCE SET; Schema: nn_db; Owner: postgres
--
SELECT pg_catalog.setval('nn_db.application_pk_application_seq', 11, true);
--
-- TOC entry 5016 (class 0 OID 0)
-- Dependencies: 226
-- Name: image_pk_image_seq; Type: SEQUENCE SET; Schema: nn_db; Owner: postgres
--
SELECT pg_catalog.setval('nn_db.image_pk_image_seq', 8, true);
--
-- TOC entry 5017 (class 0 OID 0)
-- Dependencies: 222
-- Name: status_pk_status_seq; Type: SEQUENCE SET; Schema: nn_db; Owner: postgres
--
SELECT pg_catalog.setval('nn_db.status_pk_status_seq', 3, false);
--
-- TOC entry 5018 (class 0 OID 0)
-- Dependencies: 220
-- Name: user_pk_user_seq; Type: SEQUENCE SET; Schema: nn_db; Owner: postgres
--
SELECT pg_catalog.setval('nn_db.user_pk_user_seq', 5, true);
--
-- TOC entry 4845 (class 2606 OID 16858)
-- Name: application application_pkey; Type: CONSTRAINT; Schema: nn_db; Owner: postgres
--
ALTER TABLE ONLY nn_db.application
ADD CONSTRAINT application_pkey PRIMARY KEY (pk_application);
--
-- TOC entry 4847 (class 2606 OID 16874)
-- Name: image image_pkey; Type: CONSTRAINT; Schema: nn_db; Owner: postgres
--
ALTER TABLE ONLY nn_db.image
ADD CONSTRAINT image_pkey PRIMARY KEY (pk_image);
--
-- TOC entry 4843 (class 2606 OID 16846)
-- Name: status status_pkey; Type: CONSTRAINT; Schema: nn_db; Owner: postgres
--
ALTER TABLE ONLY nn_db.status
ADD CONSTRAINT status_pkey PRIMARY KEY (pk_status);
--
-- TOC entry 4841 (class 2606 OID 16837)
-- Name: user user_pkey; Type: CONSTRAINT; Schema: nn_db; Owner: postgres
--
ALTER TABLE ONLY nn_db."user"
ADD CONSTRAINT user_pkey PRIMARY KEY (pk_user);
--
-- TOC entry 4848 (class 2606 OID 16890)
-- Name: application application_fk_status_fkey; Type: FK CONSTRAINT; Schema: nn_db; Owner: postgres
--
ALTER TABLE ONLY nn_db.application
ADD CONSTRAINT application_fk_status_fkey FOREIGN KEY (fk_status) REFERENCES nn_db.status(pk_status) ON UPDATE CASCADE ON DELETE SET NULL NOT VALID;
--
-- TOC entry 4849 (class 2606 OID 16895)
-- Name: application application_fk_user_fkey; Type: FK CONSTRAINT; Schema: nn_db; Owner: postgres
--
ALTER TABLE ONLY nn_db.application
ADD CONSTRAINT application_fk_user_fkey FOREIGN KEY (fk_user) REFERENCES nn_db."user"(pk_user) ON UPDATE CASCADE ON DELETE SET NULL NOT VALID;
--
-- TOC entry 4850 (class 2606 OID 16900)
-- Name: image image_fk_application_fkey; Type: FK CONSTRAINT; Schema: nn_db; Owner: postgres
--
ALTER TABLE ONLY nn_db.image
ADD CONSTRAINT image_fk_application_fkey FOREIGN KEY (fk_application) REFERENCES nn_db.application(pk_application) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID;
-- Completed on 2026-05-25 22:26:40
--
-- PostgreSQL database dump complete
--
\unrestrict rWgv9Lrdp6aUlx4m78Q5taMiGZPMYSi2kZvE4Yoeg8bEzxclehA1eKWafZgUpuj