From d3f93a6f46f64123dea0be9a9623e03f70eb260e Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 22 Aug 2026 21:24:37 +0000 Subject: [PATCH] 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 --- infrastructure/deployment/RUNBOOK.md | 10 ++++++++++ infrastructure/docker/Dockerfile.tools | 2 ++ 2 files changed, 12 insertions(+) diff --git a/infrastructure/deployment/RUNBOOK.md b/infrastructure/deployment/RUNBOOK.md index 901daef..35d7d54 100644 --- a/infrastructure/deployment/RUNBOOK.md +++ b/infrastructure/deployment/RUNBOOK.md @@ -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. diff --git a/infrastructure/docker/Dockerfile.tools b/infrastructure/docker/Dockerfile.tools index 0db360a..5d8cd0f 100644 --- a/infrastructure/docker/Dockerfile.tools +++ b/infrastructure/docker/Dockerfile.tools @@ -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