mirror of
https://github.com/3ybactuk/marketplace-go-service-project.git
synced 2025-10-30 22:13:44 +03:00
34 lines
2.1 KiB
Markdown
34 lines
2.1 KiB
Markdown
# Домашнее задание по модулю "Базы данных"
|
||
|
||
Необходимо развернуть БД 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 (проверка)
|