> For the complete documentation index, see [llms.txt](https://lunarie.gitbook.io/lunarie-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lunarie.gitbook.io/lunarie-docs/banco-de-dados/03-tabelas.md).

# Tabelas

> **Última atualização:** 08/10/2026 As 23 tabelas do schema `public`, conferidas com o banco em 08/10/2026. Todas têm RLS. Colunas em [Campos e Tipos](/lunarie-docs/banco-de-dados/04-campos-e-tipos.md).

## Biblioteca

| Tabela                  | Responsabilidade                                                                                                                                                                                                                                                                                                                                                         |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `ebooks`                | Tabela central. Cada linha é um livro da biblioteca de uma pessoa: dados bibliográficos (título, autor, série, volume, gênero, subgêneros, ISBNs, ASIN), caminho do arquivo (`arquivo_path`), leitura (status, favorito, notas, tags), envio ao Kindle e vínculo com a Base de Conhecimento. `origem_arquivo` distingue livro importado de livro catalogado sem arquivo. |
| `knowledge_base`        | Camada global de informações da obra, compartilhada entre pessoas. Guarda título e autor normalizados, série, gênero, sinopse, ISBNs e `content_hash`. Nunca guarda dado pessoal. Alimenta o reconhecimento instantâneo de livros já conhecidos na importação.                                                                                                           |
| `generos_ref`           | Gêneros canônicos, com `aliases` (variações e termos em inglês de APIs externas). Lista fechada: a busca automática não cria gênero.                                                                                                                                                                                                                                     |
| `subgeneros_ref`        | Subgêneros canônicos, com `aliases` e vínculo opcional ao gênero (`genero_id`). A lista cresce com o acervo.                                                                                                                                                                                                                                                             |
| `series_dismissed_next` | Séries em que a pessoa dispensou o aviso de possível continuação.                                                                                                                                                                                                                                                                                                        |
| `metas_leitura`         | Meta anual de livros por pessoa.                                                                                                                                                                                                                                                                                                                                         |
| `conquistas_definicoes` | Catálogo de conquistas, mantido pela administração. Cada linha tem um critério (`total_livros`, `genero_quantidade` ou `total_paginas`) e a quantidade necessária.                                                                                                                                                                                                       |
| `conquistas_obtidas`    | Conquistas já desbloqueadas por pessoa. São permanentes: nunca são revogadas, mesmo que a pessoa desmarque um livro como lido. O trigger `trg_checar_conquistas_leitura` em `ebooks` concede ao marcar um livro como lido. As conquistas por páginas vêm do ADR-020.                                                                                                     |

## Kindle

| Tabela               | Responsabilidade                                                                                                                                                            |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `kindle_envios`      | Histórico de envios: livro, e-mail de destino, status (`enviado`, `erro`, `erro_conversao`), detalhe do erro e tamanho do arquivo.                                          |
| `kindle_email_pref`  | E-mail Kindle por pessoa, verificação do teste de conexão e opção do resumo semanal. Substituiu `preferencias_arquivo`, que foi removida em 23/09/2026 (ADR-030 e ADR-031). |
| `kindle_bounce_seen` | Idempotência do `kindle-bounce-check`: IDs dos e-mails de falha E999 já processados.                                                                                        |

## Apoio

| Tabela     | Responsabilidade                                                              |
| ---------- | ----------------------------------------------------------------------------- |
| `founders` | Selos especiais: `admin` e `primeira_estante` (primeiras pessoas convidadas). |
| `apoios`   | Doações avulsas: valor e identificador do pagamento no Stripe.                |

## Entrada e convites

| Tabela            | Responsabilidade                                                                                       |
| ----------------- | ------------------------------------------------------------------------------------------------------ |
| `fila_da_lua`     | Lista de espera: nome, e-mail e se já foi convidada.                                                   |
| `convites`        | Convites emitidos: código (RNG criptográfico), e-mail, origem, validade de 7 dias, uso e arquivamento. |
| `invite_attempts` | Limite de tentativas inválidas por origem (IP), janela de 1 hora, com limpeza diária.                  |

## Conta

| Tabela                      | Responsabilidade                                                                                                           |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `profiles`                  | Nome, caminho da foto (bucket `avatares`), estado do onboarding, preferências de leitura e controle do e-mail de feedback. |
| `preferencias_nomenclatura` | Modelo de nome dos arquivos (série e avulso) por pessoa.                                                                   |

## IA

| Tabela          | Responsabilidade                                                                                                                  |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `ai_usage_logs` | Registro de cada chamada à IA (Groq): modelo, tokens, status, latência e limites restantes. Alimenta o painel de uso em `/admin`. |

## Auditoria

| Tabela                 | Responsabilidade                                                                                                                                                   |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `storage_delete_audit` | Registra exclusões no bucket `ebooks` (objeto, quando, perfil do banco e e-mail do JWT). O alerta diário foi desligado (ADR-078), e a tabela continua registrando. |

## Documentos relacionados

* [Campos e Tipos](/lunarie-docs/banco-de-dados/04-campos-e-tipos.md)
* [Relacionamentos](/lunarie-docs/banco-de-dados/05-relacionamentos.md)
* [Regras de Dados](/lunarie-docs/banco-de-dados/06-regras-de-dados.md)
