diff --git a/Makefile b/Makefile index cf209ee..62d19d5 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ .PHONY: help build migrate migrate-create start dev stop logs clean test lint format check-db reset-db shell +PYTHON ?= backend/.venv/bin/python + # Default target help: ## Show this help message @echo "Available commands:" @@ -53,6 +55,13 @@ reset-db: ## Reset database (remove and recreate) echo "❌ Database reset cancelled."; \ fi +reset-demo: ## Очистить демонстрационные данные (миссии, журнал, вложения) + @if [ ! -x "$(PYTHON)" ]; then \ + echo "❌ Backend venv не найден. Выполните 'cd backend && python -m venv .venv && source .venv/bin/activate && pip install -r requirements-dev.txt'"; \ + exit 1; \ + fi + PYTHONPATH=$(PWD) $(PYTHON) -m scripts.reset_demo_data + # Development commands start: migrate ## Run migrations and start all services docker compose up -d diff --git a/scripts/reset_demo_data.py b/scripts/reset_demo_data.py index 45209d6..97f9613 100644 --- a/scripts/reset_demo_data.py +++ b/scripts/reset_demo_data.py @@ -6,6 +6,7 @@ import shutil from pathlib import Path import sys +import os from sqlalchemy.orm import Session @@ -24,7 +25,12 @@ from app.models.user import User def reset() -> None: """Очищаем пользовательскую активность и загруженные документы.""" - run_migrations() + original_cwd = Path.cwd() + try: + os.chdir(ROOT / 'backend') + run_migrations() + finally: + os.chdir(original_cwd) session: Session = SessionLocal() try: