742cc1fb58
Both came from the src/ restructure and only show up at runtime, so
the test suite had not caught them.
- src/backend/config.py: env_file was "../../.env", which pydantic-
settings resolves against the *cwd*, not the file. Running uvicorn
or alembic from the project root therefore looked for
../../.env one level above the repo and silently fell back to the
default DB_PASSWORD ("change_me_in_production"), hiding the real
password. Now resolved as Path(__file__).resolve().parents[2] /
".env" so the lookup is always against the project root regardless
of cwd.
- src/backend/models/orm/__init__.py: Station and
StationRecipeAssignment were never imported here, so anything that
triggers Base.metadata.create_all without first importing the
setup router (which has its own Station import) ended up with no
stations / station_recipe_assignments tables. Verified locally:
/api/setup/seed used to fail with "Table tiemeasureflow.stations
doesn't exist" before this fix.
- .gitignore: ignore src/frontend/flask_app/package.json and
package-lock.json (local npm-install artifacts; the Dockerfile
installs tailwindcss directly).
Smoke verified end-to-end: uvicorn + gunicorn + MySQL, login + admin
stations + select_recipe + admin users all 200 OK.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
76 lines
970 B
Plaintext
76 lines
970 B
Plaintext
# Claude Code
|
|
.claude/
|
|
.omc/
|
|
|
|
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
*.egg-info/
|
|
dist/
|
|
build/
|
|
*.egg
|
|
.eggs/
|
|
|
|
# Virtual environments
|
|
venv/
|
|
.venv/
|
|
env/
|
|
|
|
# Environment
|
|
.env
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
desktop.ini
|
|
|
|
# Uploads (server-side files, now at project root)
|
|
uploads/images/*
|
|
uploads/pdfs/*
|
|
uploads/logos/*
|
|
uploads/reports/*
|
|
!uploads/images/.gitkeep
|
|
!uploads/pdfs/.gitkeep
|
|
!uploads/logos/.gitkeep
|
|
!uploads/reports/.gitkeep
|
|
|
|
# TailwindCSS output
|
|
src/frontend/flask_app/static/css/tailwind.css
|
|
|
|
# Node
|
|
node_modules/
|
|
src/frontend/flask_app/package.json
|
|
src/frontend/flask_app/package-lock.json
|
|
|
|
# Flask-Babel compiled
|
|
*.mo
|
|
|
|
# Alembic migrations are versioned in git (only __pycache__ is ignored, covered globally)
|
|
|
|
# Logs
|
|
*.log
|
|
|
|
# Testing
|
|
.pytest_cache/
|
|
.coverage
|
|
htmlcov/
|
|
|
|
# Debug files
|
|
src/frontend/flask_app/static/js/fabric-debug.js
|
|
|
|
# Misc
|
|
nul
|
|
|
|
# Competitor analysis (local only)
|
|
Concorrente/
|
|
docker-compose.override.yml
|