postgresql config

This commit is contained in:
Ksan 2025-10-17 23:45:27 +02:00
parent 5fd15ed820
commit 6e2c298f08
2 changed files with 80 additions and 0 deletions

View File

@ -7,6 +7,7 @@ services:
- 'POSTGRES_PASSWORD=test'
- 'POSTGRES_USER=test'
volumes:
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
- .db:/var/lib/postgresql/data
ports:
- '5432:5432'

79
init.sql Normal file
View File

@ -0,0 +1,79 @@
-- This script was generated by the ERD tool in pgAdmin 4.
-- Please log an issue at https://github.com/pgadmin-org/pgadmin4/issues/new/choose if you find any bugs, including reproduction steps.
BEGIN;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE IF NOT EXISTS public.alt_subject
(
id uuid NOT NULL DEFAULT uuid_generate_v4(),
name character varying(255) COLLATE pg_catalog."default" NOT NULL,
subject_id uuid NOT NULL,
CONSTRAINT alt_subject_pkey PRIMARY KEY (id),
CONSTRAINT alt_subject_name_key UNIQUE (name)
);
CREATE TABLE IF NOT EXISTS public.entries
(
id uuid NOT NULL DEFAULT uuid_generate_v4(),
subject_id uuid NOT NULL,
title text COLLATE pg_catalog."default",
info_entry text COLLATE pg_catalog."default",
paragraph text COLLATE pg_catalog."default",
time_published timestamp without time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
filepath text COLLATE pg_catalog."default",
CONSTRAINT entries_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.subjects
(
id uuid NOT NULL DEFAULT uuid_generate_v4(),
code bigint,
name character varying(255) COLLATE pg_catalog."default" NOT NULL,
CONSTRAINT subjects_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public."user-subject"
(
user_id uuid NOT NULL,
subject_id uuid NOT NULL,
CONSTRAINT "user-subject_pkey" PRIMARY KEY (user_id, subject_id)
);
CREATE TABLE IF NOT EXISTS public.users
(
id uuid NOT NULL DEFAULT uuid_generate_v4(),
email character varying(255) COLLATE pg_catalog."default" NOT NULL,
password character varying(255) COLLATE pg_catalog."default" NOT NULL,
reg_time timestamp without time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT users_pkey PRIMARY KEY (id),
CONSTRAINT unique_email UNIQUE (email)
);
ALTER TABLE IF EXISTS public.alt_subject
ADD CONSTRAINT alt_subject_subject_id_fkey FOREIGN KEY (subject_id)
REFERENCES public.subjects (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE CASCADE;
ALTER TABLE IF EXISTS public.entries
ADD CONSTRAINT subject_for_key FOREIGN KEY (subject_id)
REFERENCES public.subjects (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION;
ALTER TABLE IF EXISTS public."user-subject"
ADD CONSTRAINT for_subject FOREIGN KEY (subject_id)
REFERENCES public.subjects (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE CASCADE;
ALTER TABLE IF EXISTS public."user-subject"
ADD CONSTRAINT for_user FOREIGN KEY (user_id)
REFERENCES public.users (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE CASCADE;
END;