# Módulo 12 — console, migrations e seeders operacionais

## Fechamentos

- Console do app NVR mantido exclusivamente no `Illuminate\Contracts\Console\Kernel`;
- comandos operacionais customizados permanecem apenas como comandos Laravel reais;
- migrations do runtime deixam de carregar SQL estático como caminho principal e passam a usar `Schema`/`Blueprint`;
- `DatabaseSeeder` e `DevelopmentDatabaseSeeder` materializam o baseline e os cenários operacionais de gateway/licenciamento;
- `scripts/seed-dev.php` delega para `php artisan db:seed --class=...`, sem seed ad hoc em PDO.

## Fluxo esperado

1. `php artisan migrate:fresh --seed` para baseline limpo;
2. `php artisan db:seed --class="Database\Seeders\DevelopmentDatabaseSeeder"` para reidratar cenários operacionais;
3. `php artisan schedule:list`, `php artisan route:list` e comandos de manutenção passam a depender do Kernel nativo do Laravel.

## Compatibilidade

- MariaDB/MySQL segue como contrato oficial do banco central;
- o portal continua sendo a entrada canônica do produto em `/nvr`;
- os SQLs em `database/legacy_sql/` ficam apenas como referência histórica/operacional, não como runtime principal das migrations.
