.PHONY: check-docker migrate migration-rollback

check-docker:
	@command -v docker >/dev/null 2>&1 || { echo "Docker nie jest zainstalowany lub nie ma go w PATH." >&2; exit 1; }
	@docker compose version >/dev/null 2>&1 || { echo "Docker Compose nie jest dostępny przez polecenie 'docker compose'." >&2; exit 1; }

MIGRATION_RUNNER = zyrarbot.storage.adapters.postgres.migration_runner

migrate: check-docker
	docker compose run --build --rm discord-bot python -m $(MIGRATION_RUNNER) migrate

# Użyj np. `make migration-rollback TO=1`; domyślnie cofa wszystkie migracje.
TO ?= 0
migration-rollback: check-docker
	docker compose run --build --rm discord-bot python -m $(MIGRATION_RUNNER) rollback --to $(TO)
