# 01 — Ambiente

## Origem do código

- **Repositório alvo:** `matheusagnes/mad-framework` (privado — sem acesso direto)
- **Repositório usado:** `JoaoNetoDev/mad-framework` (fork privado, acessível
  via token fine-grained do João Neto)
- **Base:** `origin/main` @ `6ea2b495` ("superpowers removido")
- **Branch de trabalho:** `testes/pr3-pr4-aplicados`

## Estrutura

```
testes_fw5/
├── docs/                     ← documentação (esta pasta)
└── web/
    ├── mad-framework/        ← clone do framework (descartável)
    └── reset-framework.sh    ← restaura ao estado do GitHub
```

## Servidor

- **URL:** https://mad5qa.lura.zadotec.com.br/web/mad-framework/
- **Apache** 2.4 (Ubuntu), usuário `www-data`
- **PHP** 8.5 · **Composer** 2.9
- Banco principal: `minierp` (SQLite) · `multi_database = 0`

## Preparação do ambiente (feita)

1. `composer install` — gera `vendor/` (**sem ele, a aplicação dá HTTP 500**)
2. Criação de `tmp/blade-cache` (cache de templates Blade)
3. Permissões de escrita para `www-data` em `tmp/`, `app/output/`,
   `app/database/`

Tudo isso é refeito automaticamente pelo `reset-framework.sh`.

## Bancos de dados (SQLite)

Os bancos **não existem em `origin/main`** — são fornecidos pela branch do PR
`fix/toggle-menu-builder-template`:

| Banco | Tabelas |
|-------|---------|
| `app/database/sqlite/minierp.db` | 96 |
| `app/database/sqlite/permission.db` | 96 |
| `app/database/sqlite/communication.db` | 20 |
| `app/database/sqlite/log.db` | 7 |

> ⚠️ Resetar **sem** `--prs` volta para `main`, que não contém os `.db`.
> Para manter o ambiente testável, use `./reset-framework.sh --prs`.

## Reset

```bash
cd web
./reset-framework.sh          # estado limpo do GitHub (main, sem DBs)
./reset-framework.sh --prs    # main + os 2 PRs (com DBs) — recomendado
```

O script preserva `vendor/` e `tmp/`, e reaplica permissões ao final.
