🐍 Python3.11
🐍 FastAPI
🐍 SQLAlchemy2
🐍 Dishka
🐍 Adaptix
🐍 Pytest
🏷️ Postgres
Для этого необходимо скопировать файл .env.example в .env
cp example.env env
Переменная | Описание |
---|
Примеры значений можно найти в example.env
docker compose up -d
флаг
--build
перебилдит текущий проект
Ставим флаг virtualenvs.in-project
, если хотим создавать .venv в
текущей папки проекта (опционально)
poetry config virtualenvs.in-project true
- Активируем окружение;
poetry shell
- Устанавливаем зависимости;
poetry install
- Ставим pre-commit для линта кода;
pre-commit install
- Запускам миграции
alembic
вместе с миграцией данных;
make migrate_with_data
-
Запускаем стек (PostgreSQL).
-
Запускаем приложение
make run
Обычный запуск тестов:
make test
Запуск тестов с включением "долгих" тестов:
make test_long
Запуск линтеров по всему проекту:
make lint
Запуск линтеров вручную через Ruff:
ruff check --fix .
ruff format
- Генерация новой миграции
make makemigrations "migration_name"
- Применение миграций
make migrate
- Применение миграций вместе с данными. Выполняется функция
data_upgrades()
в файле миграции.
make migrate_with_data
- Генерация SQL файла с миграциями.
make dump_migrations
- Откат миграции на
n
версий назад
make downgrade -n
make run # Запуск приложения
make migrations_init # Инициализация нулевой миграции алембика
make makemigrations # Создание миграции алембика
make migrate # Применить миграции алембика
make migrate_with_data # Применить миграции алембика вместе с data миграциями
make downgrade # откат на одну миграцию
make test_long # Запуск тестирования с долгими тестами
make test # Запуск тестирования
make lint # Проверить файлы проекта при помощи линтера Ruff