fix(ops): tools-image kopierar infrastructure/migrations sa db:migrate hittar journalen

- Dockerfile.tools: COPY infrastructure/migrations (migrate.ts laste /build/infrastructure/migrations men mappen saknades -> 'Cant find meta/_journal.json').
- RUNBOOK: nollstall anvandare med DELETE FROM users (respekterar creator_user_id ON DELETE SET NULL), aldrig TRUNCATE CASCADE.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Claude
2026-08-22 21:24:37 +00:00
parent d29c18e2bc
commit d3f93a6f46
2 changed files with 12 additions and 0 deletions
+10
View File
@@ -131,3 +131,13 @@ curl -s -o /dev/null -w "internt: %{http_code}\n" http://127.0.0.1:4100/healthz
curl -s -o /dev/null -w "externt: %{http_code}\n" https://api.cibello.app/healthz
sudo docker compose -f /opt/cibello-platform/infrastructure/docker/docker-compose.production.yml ps
```
---
## 8. Nollställa användardata (försiktigt)
Använd **`DELETE FROM users`**, aldrig `TRUNCATE users CASCADE`. Recept har en FK
`creator_user_id → users` med `ON DELETE SET NULL`: `DELETE` respekterar det och
**behåller receptkatalogen** (nollställer bara skaparen), medan `TRUNCATE ... CASCADE`
ignorerar `SET NULL` och sveper med hela recept-tabellen. Ta alltid en RDS-snapshot
först, och kör SQL:en via samma `docker exec app-api node`-mönster som db-koll-scripten.
+2
View File
@@ -16,6 +16,8 @@ COPY package.json pnpm-workspace.yaml pnpm-lock.yaml .npmrc ./
COPY tsconfig.base.json turbo.json ./
COPY brand.config.json ./
COPY packages ./packages
# migrate.ts läser migreringsfilerna (meta/_journal.json + .sql) härifrån
COPY infrastructure/migrations ./infrastructure/migrations
# Installera @app/database + dess beroende-closure (drizzle-orm, pg, nutrition-engine,
# analytics, shared-types). Faller tillbaka till icke-frozen om lockfile-koll klagar