# Переменные для удобства изменения имён контейнеров
DOCKER_COMPOSE = docker compose
PHP_CONTAINER = laravel-app

.PHONY: up down install migrate fresh fresh-seed shell

# Запуск контейнеров в фоновом режиме со сборкой
up:
	$(DOCKER_COMPOSE) up -d --build

# Остановка и удаление контейнеров
down:
	$(DOCKER_COMPOSE) down

# Установка зависимостей Composer внутри контейнера app
install:
	$(DOCKER_COMPOSE) exec app composer install
	$(DOCKER_COMPOSE) exec app php artisan key:generate

# Запуск миграций базы данных внутри контейнера app
migrate:
	$(DOCKER_COMPOSE) exec app php artisan migrate

# Полный сброс и перезапуск всех миграций (очистка БД)
fresh:
	$(DOCKER_COMPOSE) exec app php artisan migrate:fresh

# Полный сброс миграций с последующим наполнением базы сидами (seed)
fresh-seed:
	$(DOCKER_COMPOSE) exec app php artisan migrate:fresh --seed

# Интерактивный вход внутрь контейнера (в bash) сразу в рабочую папку
shell:
	$(DOCKER_COMPOSE) exec -it app bash