> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kazzle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bazy danych

> Dedykowane instancje Postgres dla Twoich aplikacji.

Każda baza danych to dedykowana instancja Postgres — izolowana, skalowalna do zera, z połączeniami poolowanymi i bezpośrednimi. Poproś AI o utworzenie bazy, a ona zajmie się konfiguracją i poświadczeniami.

## Tworzenie bazy danych

Powiedz AI, czego potrzebuje aplikacja. Powinna najpierw wyświetlić istniejące bazy danych i ponownie użyć odpowiedniej aktywnej bazy, jeśli taka istnieje. Nową instancję Postgres tworzy tylko wtedy, gdy poprosisz o izolację lub żadna istniejąca baza nie pasuje.

## Poświadczenia

Poświadczenia bazy danych są zarządzane przez [vault](/work/vault).

* **Wyświetl poświadczenia** — zwraca bieżące identyfikatory URI połączenia dla bazy danych.
* **Regeneruj poświadczenia** — resetuje hasło bazy danych i tworzy nowe sekrety vault. Użyj, gdy poświadczenia są niedostępne, skompromitowane lub wymagają rotacji. Stare poświadczenia przestają działać natychmiast.

### Używanie poświadczeń w aplikacji

W przypadku wygenerowanych aplikacji AI podłącza poświadczenia bazy danych do komponentu procesu za pomocą narzędzia `db`. Kod aplikacji odczytuje zwykłe zmienne środowiskowe, takie jak `DATABASE_URL` i `DIRECT_DATABASE_URL`.

W przypadku ręcznych poleceń lokalnych uruchom je przez Kazzle CLI z odpowiednią kolekcją i środowiskiem:

```json theme={"theme":"material-theme-darker"}
{
  "scripts": {
    "dev": "kazzle run --collection=my-saas --env=dev -- bun run server.ts"
  }
}
```

Nie umieszczaj adresów URL bazy danych w kodzie frontend lub zmiennych `VITE_*`.

## Migracje

Zmiany schematu znajdują się w plikach SQL w repozytorium aplikacji (np. `migrations/001_create_todos.sql`). Kazzle może uruchamiać te migracje w ramach przepływu wdrażania aplikacji. Jeśli synchronizacja w czasie rzeczywistym jest włączona, AI aktualizuje również powiązaną konfigurację synchronizacji.

## Włączanie synchronizacji w czasie rzeczywistym

Poproś AI o włączenie synchronizacji na bazie danych. Powinna czekać, aż baza danych pokaże `sync: ready`, zanim podłączy aplikację w czasie rzeczywistym. Przeczytaj [Synchronizacja w czasie rzeczywistym](/apps/sync), aby dowiedzieć się, jak to działa.

## Usuwanie bazy danych

Poproś AI o usunięcie bazy danych. Kazzle oznacza ją jako usuniętą, a baza danych może być przywrócona przed trwałym czyszczeniem.

## Przykład: konfiguracja bazy danych od zera

1. "Utwórz bazę danych o nazwie my-app-db"
2. AI ponownie używa odpowiedniej bazy danych lub konfiguruje Postgres i przechowuje poświadczenia w vault
3. "Utwórz tabelę todos z kolumnami id, text, done i created\_at"
4. AI uruchamia SQL
5. "Podłącz ją do mojej aplikacji" — AI łączy bazę danych z komponentem procesu aplikacji

W przypadku aplikacji w czasie rzeczywistym z obsługą offline AI włącza również synchronizację i konfiguruje schemat po stronie klienta. Przeczytaj [budowanie aplikacji w czasie rzeczywistym](/apps/build-and-publish), aby poznać pełny przepływ.
