# Migração legacy → `mt_*` (draft)

Este projeto ainda está em scaffold (sem CI4 instalado), por isso a migração é feita por um endpoint protegido:

- `GET /admin/migrate/run?token=...`

## 1) Preparar config (mais simples em cPanel)

Opção recomendada: criar um ficheiro no servidor:

- copiar `staging/writable/migrate_config.php.example` para `staging/writable/migrate_config.php`
- preencher `MIGRATE_TOKEN` + credenciais da BD

O controller lê primeiro deste ficheiro; se não existir, tenta env vars.

Alternativa: env vars (`MIGRATE_*`, `DB_*`) se preferires.

## 2) Importar a BD legacy primeiro

Importa os dumps legacy (tabelas como `articles`, `subjects`, `threads`, `articles_categories`).

## 3) Criar `mt_*` e copiar dados

Chama:

- `/admin/migrate/run?token=SEU_TOKEN`

O endpoint:

1. cria as tabelas `mt_*` (via `staging/app/Database/Migrations/*.sql`)
2. copia:
   - `articles_categories` → `mt_categories`
   - `subjects` → `mt_subjects`
   - `threads` → `mt_threads`
   - `articles` → `mt_articles` + ligações (`mt_article_categories`, `mt_article_subjects`, `mt_article_threads`)

## 4) Depois de correr

- desliga a migração:
  - apaga/renomeia `staging/writable/migrate_config.php`
  - ou mete `MIGRATE_ALLOW_WEB=0`

## Nota

Isto é um “bridge” temporário. Assim que instalarmos CI4 a sério, vamos converter isto para um **CLI command** (mais seguro).
