mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-10-01 09:53:15 +00:00
58 lines
1.7 KiB
Markdown
58 lines
1.7 KiB
Markdown
# 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.
|