diff --git a/.agents/context/operations.md b/.agents/context/operations.md new file mode 100644 index 0000000..04c3f79 --- /dev/null +++ b/.agents/context/operations.md @@ -0,0 +1,10 @@ +# Notatki Operacyjne + +## Resetowanie bazy danych (db:reset) + +**Ważne:** Skrypt `db:reset` wymaga zatrzymania działającego serwera Next.js (`pnpm dev`) przed uruchomieniem. W przeciwnym razie usunięcie pliku SQLite w trakcie działania (hot-swap pliku bazy) spowoduje zablokowanie go w trybie "read only" dla starego połączenia, co zaowocuje błędem podczas auto-migracji Payload: `SQLITE_READONLY_DBMOVED: attempt to write a readonly database`. + +Skrypt w `package.json` ma wbudowane automatyczne ubijanie serwera działającego na porcie 3000 przed resetem: +`"db:reset": "lsof -ti:3000 | xargs kill -9 2>/dev/null || true; rm -f dev.db && cross-env NODE_OPTIONS=--no-deprecation payload run ./scripts/seed.ts"` + +Jeśli błąd się powtórzy, upewnij się, że nie działają inne ukryte procesy trzymające połączenie do `dev.db`. diff --git a/package.json b/package.json index 48b5bab..01dfc14 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "test": "pnpm run test:int && pnpm run test:e2e", "test:e2e": "cross-env NODE_OPTIONS=\"--no-deprecation --import=tsx/esm\" playwright test --config=playwright.config.ts", "test:int": "cross-env NODE_OPTIONS=--no-deprecation vitest run --config ./vitest.config.mts", - "db:reset": "rm -f dev.db && cross-env NODE_OPTIONS=--no-deprecation payload run ./scripts/seed.ts" + "db:reset": "lsof -ti:3000 | xargs kill -9 2>/dev/null || true; rm -f dev.db && cross-env NODE_OPTIONS=--no-deprecation payload run ./scripts/seed.ts" }, "dependencies": { "@intecion/ipal-kit": "^1.1.2",