Files
no-copy/README.md
T
vladp ec20d68261
Test Workflow / test (push) Successful in 3s
dev add check limits logic
2026-01-28 23:25:16 +07:00

2.2 KiB

Создаем сеть: docker network create app-network

Войти в БД: docker exec -it postgres psql -U ncp_db -d no_copy_

Выполнить команду: \du

Должен быть один пользователь: List of roles Role name | Attributes -----------+------------------------------------------------------------ ncp_db | Superuser, Create role, Create DB, Replication, Bypass RLS

суперпользователь БД: postgres/postgres пользователь бд для бэка ncp_db / ncpDbApp

Подключение к БД для приложения,если volume не существует :

Создаться автоматически.

Если уже существует volume :

docker exec -it postgres psql -U postgres -d postgres

CREATE USER ncp_db WITH PASSWORD 'ncpDbApp';

GRANT ALL PRIVILEGES ON DATABASE no_copy_ TO ncp_db;

\du

\q


psql -U postgres -d no_copy_

-- база

GRANT CONNECT ON DATABASE no_copy_ TO ncp_db;

-- схема

GRANT USAGE ON SCHEMA public TO ncp_db;

-- существующие таблицы

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO ncp_db;

-- существующие sequence (очень важно для id)

GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO ncp_db;

-- будущие таблицы

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO ncp_db;

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO ncp_db;

Зайти в контейнер: docker exec -it {name} bash


Создать для сущности FileEntity sequence для икремента индетификатора

CREATE SEQUENCE IF NOT EXISTS file_support_id_seq START 1;

ALTER TABLE file_entities ALTER COLUMN support_id SET DEFAULT nextval('file_support_id_seq');


Раздать всем лимиты,у кого их нет

INSERT INTO protect_check (user_id, check_limit, count_checked, last_check_at, version) SELECT id as user_id, 10 as check_limit, 0 as count_checked, NULL as last_check_at, 0 as version FROM users WHERE id NOT IN (SELECT user_id FROM protect_check);