# Migration Dry-Run Report — Phase 0 **Migration:** `20260624163145_Phase0_DomainFoundation` **Status:** Pronto para execução em staging --- ## 1. Procedimento 1. Restore backup produção → staging espelho 2. Snapshot pré-migration: ```sql SELECT Status, COUNT(*) FROM workOrders GROUP BY Status; SELECT COUNT(*) AS Total FROM workOrders; ``` 3. Executar: ```powershell dotnet ef database update --project Data.SeaHavenIndustries --startup-project Api.SeaHavenIndustries ``` 4. Validar pós-migration: ```sql SELECT COUNT(*) FROM workOrders WHERE LegacyStatus IS NOT NULL; SELECT LifecycleStatus, COUNT(*) FROM workOrders GROUP BY LifecycleStatus; SELECT COUNT(*) FROM workOrders WHERE PrimaryDispatchId IS NOT NULL; ``` 5. Smoke Blazor + API legado + Sync sample 6. Rollback (se falha): ```powershell dotnet ef database update 20260417195316_AddDispatchVerification --project Data.SeaHavenIndustries --startup-project Api.SeaHavenIndustries ``` --- ## 2. Data scripts incluídos na migration - `LegacyStatus` ← cópia de `Status` - `LifecycleStatus` ← mapeamento legado (Open→Incomplete, etc.) - `PrimaryDispatchId` ← dispatch mais recente por WO --- ## 3. Resultados (preencher em staging) | Métrica | Antes | Depois | |---------|-------|--------| | Total WOs | | | | Com LegacyStatus | | | | Com LifecycleStatus | | | | Com PrimaryDispatchId | | | | Rollback testado | | Sim/Não | --- ## 4. Notas A migration inclui reconciliação de drift em `Locations`, `Regions`, `Departments` detectada pelo EF — revisar impacto em staging antes de produção. **WO# normalização 11 dígitos:** documentada para Fase 2; não executada nesta migration.