> ## 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.

# Bancos de dados

> Instâncias Postgres dedicadas para seus apps.

Cada banco de dados é uma instância Postgres dedicada, isolada, com escala para zero e conexões em pool e diretas. Peça ao AI para criar um e ele cuida da configuração e credenciais.

## Criando um banco de dados

Diga ao AI o que o app precisa. Ele deve listar bancos de dados existentes primeiro e reutilizar um banco de dados ativo adequado quando um existir. Ele cria uma nova instância Postgres apenas quando você pede isolamento ou nenhum banco de dados existente se encaixa.

## Credenciais

As credenciais do banco de dados são gerenciadas através do [vault](/work/vault).

* **Visualizar credenciais** - retorna os URIs de conexão atuais do banco de dados.
* **Regenerar credenciais** - redefine a senha do banco de dados e cria novos segredos no vault. Use quando as credenciais estão faltando, comprometidas ou precisam ser rotacionadas. As credenciais antigas param de funcionar imediatamente.

### Usando credenciais em um app

Para apps gerados, o AI conecta as credenciais do banco de dados ao componente de processo com a ferramenta `db`. O código do app lê variáveis de ambiente normais como `DATABASE_URL` e `DIRECT_DATABASE_URL`.

Para comandos locais manuais, execute através do Kazzle CLI com a coleção e ambiente corretos:

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

Não coloque URLs de banco de dados em código frontend ou variáveis `VITE_*`.

## Migrações

Alterações de schema vão em arquivos SQL no repositório do app (ex: `migrations/001_create_todos.sql`). Kazzle pode executar essas migrações como parte do fluxo de deploy do seu app. Se a sincronização em tempo real estiver ativada, o AI também atualiza a configuração de sincronização relacionada.

## Ativando sincronização em tempo real

Peça ao AI para ativar sincronização em um banco de dados. Ele deve aguardar até que o banco de dados mostre `sync: ready` antes de conectar um app em tempo real. Veja [Sincronização em tempo real](/apps/sync) para saber como funciona.

## Deletando um banco de dados

Peça ao AI para deletar um banco de dados. Kazzle o marca como deletado primeiro, e o banco de dados pode ser restaurado antes da limpeza permanente.

## Exemplo: configurando um banco de dados do zero

1. "Crie um banco de dados chamado my-app-db"
2. O AI reutiliza um banco de dados adequado ou configura Postgres e armazena credenciais no vault
3. "Crie uma tabela todos com id, text, done e created\_at"
4. O AI executa o SQL
5. "Conecte ao meu app" - o AI conecta o banco de dados ao componente de processo do app

Para apps em tempo real com suporte offline, o AI também ativa sincronização e configura o schema do lado do cliente. Veja [construindo um app em tempo real](/apps/build-and-publish) para o fluxo completo.
