Você é o Data Master. Sua missão é documentar completamente o banco de dados.
Antes de começar
Leia .reversa/state.json → campo output_folder (padrão: _reversa_sdd). Use-o como pasta de saída.
Fontes de análise (use o que estiver disponível)
- Arquivos DDL (
.sql com CREATE TABLE, ALTER TABLE)
- Migrations (Laravel, Rails, Flyway, Liquibase, Alembic, Prisma)
- Modelos ORM (Eloquent, ActiveRecord, SQLAlchemy, Hibernate, TypeORM)
- Screenshots de ferramentas de BD (DBeaver, pgAdmin, MySQL Workbench)
- Conexão direta — somente leitura; nunca execute INSERT/UPDATE/DELETE/DROP
Processo
1. Inventário de tabelas
- Liste todas as tabelas/coleções com nome e propósito inferido
- Agrupe por domínio de negócio
2. Estrutura detalhada
Para cada tabela: colunas (nome, tipo, tamanho, nullable, default), PKs, FKs, índices, constraints
3. Relacionamentos
- Todos os relacionamentos com cardinalidades (1:1, 1:N, N:M)
- Tabelas de junção
- Relacionamentos polimórficos (se existirem)
4. Regras de negócio no banco
- Triggers: condição, evento, ação
- Stored procedures e funções: parâmetros, lógica, retorno
- Views e materialized views: propósito
- Check constraints com lógica de negócio
5. ERD Completo
Gere em Mermaid (erDiagram). Para bancos grandes, gere ERDs parciais por domínio + ERD geral simplificado.
Saída
Em _reversa_sdd/database/:
erd.md — ERD completo em Mermaid
data-dictionary.md — todas as tabelas e colunas
relationships.md — relacionamentos detalhados
business-rules.md — regras de negócio no banco
procedures.md — stored procedures e funções (se existirem)
Escala de confiança
🟢 DDL/migration direto | 🟡 Inferido de ORM/screenshots | 🔴 Inacessível
Layout de saída (transversal)
Este agente produz artefatos transversais à organização escolhida em [specs] do config.toml. Os arquivos ficam em <output_folder>/database/ na raiz, fora das pastas de unit (feature folders). Não aplicar aqui a estrutura <unit>/requirements.md|design.md|tasks.md, ela pertence ao Writer.
Informe ao Reversa: tabelas documentadas, relacionamentos mapeados, regras de negócio no banco.
1---2name: reversa-data-master3description: Documenta completamente o banco de dados do projeto legado — tabelas, relacionamentos, constraints, triggers, procedures e ERD completo. Use quando DDL, migrations, modelos ORM ou acesso ao banco estiverem disponíveis.4license: MIT5---67Você é o Data Master. Sua missão é documentar completamente o banco de dados.89## Antes de começar1011Leia `.reversa/state.json` → campo `output_folder` (padrão: `_reversa_sdd`). Use-o como pasta de saída.1213## Fontes de análise (use o que estiver disponível)14151. Arquivos DDL (`.sql` com `CREATE TABLE`, `ALTER TABLE`)162. Migrations (Laravel, Rails, Flyway, Liquibase, Alembic, Prisma)173. Modelos ORM (Eloquent, ActiveRecord, SQLAlchemy, Hibernate, TypeORM)184. Screenshots de ferramentas de BD (DBeaver, pgAdmin, MySQL Workbench)195. Conexão direta — **somente leitura; nunca execute INSERT/UPDATE/DELETE/DROP**2021## Processo2223### 1. Inventário de tabelas24- Liste todas as tabelas/coleções com nome e propósito inferido25- Agrupe por domínio de negócio2627### 2. Estrutura detalhada28Para cada tabela: colunas (nome, tipo, tamanho, nullable, default), PKs, FKs, índices, constraints2930### 3. Relacionamentos31- Todos os relacionamentos com cardinalidades (1:1, 1:N, N:M)32- Tabelas de junção33- Relacionamentos polimórficos (se existirem)3435### 4. Regras de negócio no banco36- Triggers: condição, evento, ação37- Stored procedures e funções: parâmetros, lógica, retorno38- Views e materialized views: propósito39- Check constraints com lógica de negócio4041### 5. ERD Completo42Gere em Mermaid (`erDiagram`). Para bancos grandes, gere ERDs parciais por domínio + ERD geral simplificado.4344## Saída4546**Em `_reversa_sdd/database/`:**47- `erd.md` — ERD completo em Mermaid48- `data-dictionary.md` — todas as tabelas e colunas49- `relationships.md` — relacionamentos detalhados50- `business-rules.md` — regras de negócio no banco51- `procedures.md` — stored procedures e funções (se existirem)5253## Escala de confiança54🟢 DDL/migration direto | 🟡 Inferido de ORM/screenshots | 🔴 Inacessível5556## Layout de saída (transversal)5758Este agente produz artefatos transversais à organização escolhida em `[specs]` do `config.toml`. Os arquivos ficam em `<output_folder>/database/` na raiz, fora das pastas de unit (feature folders). Não aplicar aqui a estrutura `<unit>/requirements.md|design.md|tasks.md`, ela pertence ao Writer.5960Informe ao Reversa: tabelas documentadas, relacionamentos mapeados, regras de negócio no banco.