Видео о луковой архитектуре
Видео о паттерне Unit of work
- Создать виртуальное окружение и установить зависимости
- Вызвать в терминале
python3 src/main.py
- Находясь в корневой директории, запустить
alembic init -t async migrations
- Перенести папку
migrations
внутрь папкиsrc
. - Заменить
prepend_sys_path
на. src
иscript_location
наsrc/migrations
внутриalembic.ini
alembic init src\migrations
from models.user import *
target_metadata = Base.metadata
alembic revision --autogenerate -m "Creat Table"
alembic upgrade 716567e95923
alembic upgrade 716567e95923
alembic upgrade head
alembic downgrade base
-
Первоначально необходимо изменить конфигурационные файлы postgresql.conf и pg_hba.conf в директории, куда установлена база данных:
-
postgresql.conf: Изменить
listen_addresses = '*' Остальные настройки можно оставить по-умолчанию, либо изменить исходя из комплектации сервера
-
pg_hba_conf: Меняем права на доступ пользователей к базе:
- IPv4 local connections
host all all 0.0.0.0/0 md5
- IPv6 local connections
host all all ::0/0 md5 Это означает, что все пользователи со всех адресов могут подключиться к любой базе данных используя логин и пароль.
-
-
Сохраняем, перезапускаем службу PostgreSQL
- Нажимаем комбинацию
Win+R
- Вводим
services.msc
- Ищем службу
postgres-x64-11
и нажимаем "перезапустить"
- Нажимаем комбинацию
-
После этого запускаем меню пуск -
postgresql 11 - SQL bash (psql)
илиSQL Shell (psql)
- Все значения по-умолчанию, просто нажимаем enter, вводим пароль для пользователя postgres
- Создаем базу данных:
create database demo_01;
- Сразу создаем в базе схему stack:
create schema stack;
- Создаем пользователей DataBase_owner и SA, необходимых для работы базы данных и даем им все необходимые права суперюзера:
create role DataBase_owner;` create role "SA" with password '12345678'; alter role "SA" superuser; alter role "SA" createDataBase; alter role "SA" createrole; alter role "SA" replication; alter role "SA" login;
Аналогично для DataBase_owner (без login) После этого даем всем пользователям права на созданную базу данных
grant all privileges on database demo_01 to "SA"; grant all privileges on database demo_01 to DataBase_owner;