93 lines
2.2 KiB
Markdown
93 lines
2.2 KiB
Markdown
Создаем сеть:
|
|
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);
|
|
|
|
|