fix: make db-reset work in non-interactive mode

- Add FORCE_RESET environment variable to skip confirmation prompt
- Update Makefile db-reset target to use FORCE_RESET=true
- Handle EOFError gracefully with helpful message
- Fix duplicate translation creation in seed script
- Check for existing translations before inserting

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-12 22:36:49 +01:00
parent 48ff56a993
commit 65f296e883
2 changed files with 63 additions and 18 deletions

View File

@@ -14,6 +14,9 @@ endif
PYTHON := python
PIP := pip
# Set PYTHONPATH for scripts
export PYTHONPATH := $(shell pwd)
# =============================================================================
# INSTALLATION & SETUP
# =============================================================================
@@ -141,7 +144,19 @@ db-setup: migrate-up init-prod seed-demo
@echo "✅ Database setup complete!"
@echo "✨ Run 'make dev' to start development server"
db-reset: migrate-down migrate-up init-prod seed-demo-reset
db-reset:
@echo "⚠️ WARNING: This will DELETE ALL existing data!"
ifeq ($(DETECTED_OS),Windows)
@set SEED_MODE=reset&& set FORCE_RESET=true&& $(PYTHON) -m alembic downgrade -1
@set SEED_MODE=reset&& set FORCE_RESET=true&& $(PYTHON) -m alembic upgrade head
@set SEED_MODE=reset&& set FORCE_RESET=true&& $(PYTHON) scripts/init_production.py
@set SEED_MODE=reset&& set FORCE_RESET=true&& $(PYTHON) scripts/seed_demo.py
else
$(PYTHON) -m alembic downgrade -1
$(PYTHON) -m alembic upgrade head
$(PYTHON) scripts/init_production.py
SEED_MODE=reset FORCE_RESET=true $(PYTHON) scripts/seed_demo.py
endif
@echo ""
@echo "✅ Database completely reset!"