Files
Никита Шубин 77ed9fcf85 [hw-4] add postgres db
2025-06-26 12:08:46 +00:00
..
2025-06-26 12:08:46 +00:00

Домашнее задание по модулю "Базы данных"

Необходимо развернуть БД PostgreSQL для сервиса loms. Реализовать слой Repository, в котором будут походы в БД

Основное задание

  1. Для сервиса loms реализовать в слое Repository поход в БД
  2. Развернуть экземпляр БД PostgreSQL в отдельном контейнере
  3. Корректно использовать транзакции в операции создания заказа
  4. Реализовать автоматические миграции, накатывающие схему БД и/или тестовые данные
  5. SQL-код должен быть написан в виде raw. Без использования ORM или билдеров (можно sqlc)

Дополнительное задание

  1. Для БД поднять синхронную реплику. Балансировать read/write запросы между ними (write только в master, read в любую из реплик)
  2. Написать по одному интеграционному тесту на каждый SQL-запрос в репозитории сервиса loms. Не забыть накатывать тестовые данные в миграции, после прогона тестов - удалить данные из БД
  3. Реализовать SQL-запросы с помощью sqlc

Автоматические проверки

Ваше решение должно проходить автоматические проверки:

  • Компиляция
  • Линтер
  • Unit-тесты
  • Code coverage >40%
  • Автотесты

Прохождение автоматических проверок влияет на итоговую оценку за домашнюю работу.

Дедлайны сдачи и проверки задания:

  • 21 июня 23:59 (сдача) / 24 июня, 23:59 (проверка)