# Checklist — Migração legado → novo BT (Homologação)

**Modo escolhido:** dump SQL (`siati_app.sql`).  
**Rotina:** backup → `.env` → **2 comandos artisan**.

| Sistema | URL | Diretório |
|---------|-----|-----------|
| Portal BT | https://homolog.bancodetalentos.angra.rj.gov.br | `/var/www/html/homologBancodetalentos` |
| Admin PAM | https://homolog.angra.rj.gov.br | `/var/www/html/portalHomolog` |

**Banco unificado:** `homolog_siati_app`

---

## 1. Preparação (manual)

| ☐ | Item |
|---|------|
| ☐ | Backup: `mysqldump -h HOST -u USER -p homolog_siati_app > backup_$(date +%F).sql` |
| ☐ | Deploy (git pull + `composer install --no-dev`) em **Angra** e **BT** |
| ☐ | Copiar dump legado → `/var/www/html/homologBancodetalentos/storage/app/siati_app.sql` |
| ☐ | Cliente `mysql` disponível no servidor BT (`which mysql`) |

### `.env` — Angra (`portalHomolog`)

```env
DB_DATABASE_SIATI_APP=homolog_siati_app
SSO_BRIDGE_SECRET=<igual ANGRA_SSO_SECRET do BT>
SSO_BRIDGE_ALLOWED_ORIGINS=https://homolog.bancodetalentos.angra.rj.gov.br
```

### `.env` — BT (`homologBancodetalentos`)

```env
DB_DATABASE=homolog_siati_app
TALENT_BANK_LEGACY_SQL_DUMP=storage/app/siati_app.sql
# TALENT_BANK_MYSQL_BINARY=/usr/bin/mysql   # se auto-detect falhar
ANGRA_SSO_SECRET=<igual SSO_BRIDGE_SECRET do Angra>
```

---

## 2. Comando 1 — Angra homolog

```bash
cd /var/www/html/portalHomolog
php artisan banco-talentos:homolog-setup --force
```

Cria tabelas BT faltantes no `mysql_siati_app`, recria cache e valida schema.  
Avisa no terminal se `SSO_BRIDGE_*` estiver ausente no `.env`.

| ☐ | `/admin/banco-de-talentos/vagas` → 200 |
| ☐ | `/admin/banco-de-talentos/relatorios` → 200 |

---

## 3. Comando 2 — BT homolog (fluxo completo)

```bash
cd /var/www/html/homologBancodetalentos
php artisan talent-bank:homolog-setup --force
```

Executa automaticamente:

1. `migrate --force`
2. `db:seed --class=TalentBankSeeder`
3. Import do dump → banco temp `bt_legacy_import_temp`
4. `legacy-dry-run` (pré)
5. `legacy-migrate --force` (candidatos → empresas → vagas → candidaturas)
6. `legacy-dry-run` (pós)
7. Remove banco temp do dump
8. `optimize:clear` + cache
9. `validate-migration`

Relatórios JSON gravados em `storage/app/` (`bt_dry_run_pre_*`, `bt_migrate_*`, `bt_dry_run_post_*`).

| ☐ | Saída: `Setup concluído` |
| ☐ | `validate-migration` sem falhas |

**Dump em outro caminho:**

```bash
php artisan talent-bank:homolog-setup --force --sql-dump=/caminho/siati_app.sql
```

**Só schema + seeders (sem dados legados):**

```bash
php artisan talent-bank:homolog-setup --force --schema-only
```

---

## 4. Reexecução (se necessário)

Idempotente — basta rodar de novo o comando 2:

```bash
cd /var/www/html/homologBancodetalentos
php artisan talent-bank:homolog-setup --force
```

Comandos avulsos:

```bash
php artisan talent-bank:legacy-migrate --force --sql-dump=storage/app/siati_app.sql
php artisan talent-bank:validate-migration
```

---

## 5. Smoke test (browser)

| ☐ | BT home — contadores > 0 |
| ☐ | BT `/vagas` — lista vagas |
| ☐ | BT SSO Infotest → `/perfil` |
| ☐ | Admin dashboard / vagas / relatórios — 200 |

**Referência local:** ~33k candidatos, ~478 empresas, ~1.400 vagas.

---

## 6. Rollback

```bash
mysql -h HOST -u USER -p homolog_siati_app < backup_YYYY-MM-DD.sql
```

---

## Registro

| Campo | Valor |
|-------|-------|
| Data | |
| Executado por | |
| Dump usado | storage/app/siati_app.sql |
| Backup | |
