mirror of
				https://github.com/3ybactuk/marketplace-go-service-project.git
				synced 2025-10-30 22:13:44 +03:00 
			
		
		
		
	[hw-4] add postgres db
This commit is contained in:
		
							
								
								
									
										33
									
								
								docs/homework-4/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								docs/homework-4/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| # Домашнее задание по модулю "Базы данных" | ||||
|  | ||||
| Необходимо развернуть БД 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 (проверка) | ||||
		Reference in New Issue
	
	Block a user
	 Никита Шубин
					Никита Шубин