# PLATAFORMA — Mapas de Tabelas por Área

> Continuação de `02-MODELAGEM.md`. Ver também `02-MODELAGEM.md`.

## 5. Mapa das tabelas principais por área

### 5.1 Conteúdo e comunicação

| Tabela | Papel |
|---|---|
| `contents` | **Núcleo**: notícias, legislação, publicações, transparência, páginas de secretaria. 25 campos (`title`, `text`, `publication_date`, `status`, `highlights`, `carousel`, `order`, `galery`, `slug`, `clicks`…) |
| `category_contents` | Árvore de categorias (`category_contents_id` = pai; `slug` = chave usada pelas views) |
| `archives` | Arquivos anexados (`contents_id`, `path`, `description`) |
| `highlights` | Destaques da home (`position`, `status`) |
| `static_pages` | Páginas estáticas (slug + conteúdo) |
| `banners`, `super_banners` | Publicidade |
| `links`, `acesso_rapido` | Links rápidos |
| `telefones_uteis`, `rede_social`, `glossario`, `perguntas_frequentes` | Contúdo institucional |
| `newsletter`, `emails`, `emails_type` | Newsletter e e-mails |
| `files`, `answers`, `answer_forms`, `answer_archives` | Respostas padrão do CMS |

### 5.2 Transparência e compras

| Tabela | Papel |
|---|---|
| `biddings` | Licitações (`number`, `publication_edital_date`, `process_number`) |
| `bidding_types`, `bidding_modalities`, `bidding_jurisdictionals` | Catálogos |
| `biddings_has_archives` | Anexos da licitação |
| `biddings_legacys`, `archives_biddings_legacy` | Licitações pré-2018 |
| `contracts` | Contratos (`value`) |
| `proposals`, `proponents`, `legal_persons`, `physical_persons` | Propostas e proponentes |
| `suppliers`, `fornecedores` (view) | Fornecedores |
| `transparencia_fiscal` (view) | Itens de transparência fiscal (projeção de `contents`) |
| `indicators` | Indicadores do dashboard |

### 5.3 Ouvidoria, LAI e atendimento

| Tabela | Papel |
|---|---|
| `ombudsman_requests` | Manifestações (`mask_description` adicionada em `2026_09_15_100000`) |
| `ombudsman_answers` | Respostas (`mask_answer` em `2026_09_21_093024`) |
| `ombudsman_manifestation_types`, `ombudsman_origins`, `ombudsman_response_methods`, `ombudsman_sectors`, `ombudsman_subjects`, `ombudsman_canned_responses` | Catálogos da ouvidoria |
| `ombudsman_request_logs` | Trilha de movimentação |
| `informations_requests` | Solicitações LAI (e-SIC) |
| `statuses`, `status_categories` | Status genéricos reutilizados por LAI e requerimentos |
| `ratings`, `send_ratings` | Avaliação de atendimento |
| `survey_results`, `surveys`, `survey_answers` | Enquetes |

### 5.4 Diário oficial

| Tabela | Papel |
|---|---|
| `diarios` | Edições (`edicao`, `publication_date`, `cover_image`, `generation_status`) |
| `diario_areas`, `diario_sub_areas` | Áreas do diário |
| `diario_has_areas` | Pivot |
| `diario_configs` | Configuração de segregação |
| `diario_certificados` | Certificados de assinatura |
| `diario_oficial`, `diario_oficial_pdf` (views) | Projeções para o portal |

### 5.5 Câmara e Mulyamento

| Tabela | Papel |
|---|---|
| `councilmen` | Vereadores (exclusiva da v6) |
| `councilmen_mandates`, `mandates`, `mandate_categories` | Mandatos (exclusivas da v6) |
| `sessoes` | Sessões da Câmara (view) |
| `atas_e_pontos` | Atas e pontos de frequência (view) |
| `pauta_do_dia` | Pauta (view) |
| `transmissoes` (view), `tv_camaras` | Transmissões e TV Câmara |

### 5.6 CMS, acesso e configuração

| Tabela | Papel |
|---|---|
| `users`, `roles`, `role_users`, `permissions` | Sentinel |
| `resources` | **Permissões do CMS** (79 linhas), com `modulo_id` FK |
| `modulos` | **Catálogo de módulos** (58 linhas) |
| `menu_orders` | Ordem do menu lateral (45 linhas), com `modulo_id` FK |
| `activity_log` | Log de atividades (Spatie) |
| `configurations`, `category_configurations` | Configurações chave/valor |
| `layouts` | Blocos de layout (HTML) |
| `menus`, `menu_items` | Menus do site |
| `dashboard_widget_instances` | Layout do dashboard por usuário (16 linhas) |
| `change_logs`, `update_logs`, `versions` | Novidades e versão |
| `reminders`, `supports`, `supports_categories` | Suporte |
| `manuals`, `manual_areas` | Manual do sistema |
| `options`, `option_categories` | Formulários dinâmicos |
| `questionnaires`, `questions`, `question_types`, `question_categories`, `asks`, `ask_types`, `ask_styles`, `ask_categories`, `ask_files`, `filled_questionnaires` | Formulários dinâmicos |
| `evacinas` | e-Vacina |
| `viap`, `viap_has_archives` | VIAP (exclusivo da v6) |
| `service_letters` + 11 tabelas `service_letter_*` | Carta de serviços (exclusivo da v6) |

---

## 6. Tabelas exclusivas da v5 (removidas na v6)

Verificado por `comm` sobre `information_schema.tables` dos dois bancos:

| Tabela | Módulo v5 correspondente |
|---|---|
| `works`, `work_categories`, `work_statuses`, `work_archives` | Obras |
| `obras_paralisadas` | Obras Paralisadas |
| `concursos_pss` | Concursos PSS |
| `estagiarios` | Estagiários |
| `fila_espera_sus` | Fila de espera SUS |
| `licitantes_sancionados` | Licitantes sancionados |
| `outsourceds` | Terceirizados |
| `relatorios_estatisticos_ouvidoria` | Relatório estatístico ouvidoria |
| `archive_categories` | Categorias de arquivo |
| `diario_adendos` | Adendos do diário |
| `ombudsman_answer_archives` | Anexos de resposta de ouvidoria |

---

## 7. PostGIS

- O pacote `phaza/laravel-postgis` **3.3.2** está declarado em
  `v6/composer.json` e instalado.
- **Nenhuma coluna `geometry`/`geography` foi encontrada** em
  `v6/database/migrations` (grep por `geometry|postgis` → 0 arquivos).
- As únicas ocorrências de "geometry" no código são do **Imagick**
  (`$imagick->getImageGeometry()` em `v6/app/Services/Pdf/PdfConverter.php:76`).
- **Conclusão:** o suporte PostGIS está declarado mas **não é usado**. O risco
  real de migração é apenas o do driver, não o de colunas geométricas.

---

## 8. Referências

| Item | Caminho |
|---|---|
| Criação da tabela `modulos` | `v6/database/migrations/2024_11_01_150206_create_modulos_table.php` |
| `modulo_id` em `menu_orders` | `v6/database/migrations/2024_11_04_094157_add_modulo_id_to_menu_order_table.php` |
| `modulo_id` em `resources` | `v6/database/migrations/2024_11_05_104026_add_modulo_id_to_resources_table.php` |
| Views do CMS | `v6/app/Http/Controllers/Prefecture/DatatableController.php` |
| Model de conteúdo | `v6/app/Http/Model/Prefecture/Content.php` |
| Model de configuração | `v6/app/Http/Model/Prefecture/Configuration.php` |
| Model de layout | `v6/app/Http/Model/Prefecture/Layout.php` |
| Seeder de VIAP (cria módulo) | `v6/database/seeds/ViapSeeder.php` |
