Files
3ybactuk-marketplace-go-ser…/docs/homework-4/README.md
Никита Шубин 77ed9fcf85 [hw-4] add postgres db
2025-06-26 12:08:46 +00:00

34 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Домашнее задание по модулю "Базы данных"
Необходимо развернуть БД 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 (проверка)