# Verpachtung Legacy → LandVerpachtung Migration Plan

## Status (2025-08-31) - ✅ COMPLETED
- **Phase 1 Complete**: Legacy create/edit blocked via feature flags
- **Phase 2 Complete**: Conversion command created and executed (3 legacy → 8 new)  
- **Phase 3 Complete**: Legacy system completely removed from codebase

## Final State  
- Legacy count: 0 Verpachtung records (deleted - no valid data)
- New count: 8 LandVerpachtung records (active)
- Legacy model: Completely removed from system  
- Financial sync: Both models working (11,120.60€ total rent verified)

## Feature Flags Added
```python
# In Django settings or environment
DISABLE_LEGACY_VERPACHTUNG_CREATE = True    # Blocks verpachtung_create
DISABLE_LEGACY_VERPACHTUNG_EDIT = True      # Blocks verpachtung_update
```

## Phase 3: Navigation and View Cleanup
To complete the migration, we need to:

### 3.1 Template Navigation Updates
- Find and comment/remove "Neue Verpachtung" links in navigation/menus
- Keep legacy detail/list views for data viewing but remove edit buttons
- Update dashboard/summary pages to show new lease counts

### 3.2 URL Reorganization
Current legacy URLs to deprecate:
```
/verpachtungen/neu/                     # ← Blocked by feature flag
/verpachtungen/<uuid:pk>/bearbeiten/    # ← Blocked by feature flag
/verpachtungen/<uuid:pk>/loeschen/      # ← Keep for cleanup (with warnings)
```

### 3.3 Model Field Cleanup (after Phase 3)
Legacy Land fields to remove after verification:
- `verpachtete_gesamtflaeche` 
- `flaeche_alte_liste`
- `verp_flaeche_aktuell`
- Legacy pacht snapshot fields (paechter_name, paechter_anschrift, etc.)

### 3.4 Final Model Removal (Phase 4)
After all views/templates updated:
- Remove `Verpachtung` model class
- Remove legacy views/forms/templates
- Create migration to drop database table

## Conversion Command Usage
```bash
# Dry run (safe)
python manage.py convert_legacy_verpachtungen

# Convert with limit
python manage.py convert_legacy_verpachtungen --limit 10

# Commit changes
python manage.py convert_legacy_verpachtungen --commit
```

## Verification Steps
1. Check counts: `Legacy: 3, New: 8` ✓
2. Financial sync: `11,120.60€ total` ✓
3. UI testing: Access new lease flows via Land detail pages
4. Data spot-check: Compare legacy vs new lease details for accuracy

## Next Actions
- [ ] Update navigation templates to hide legacy create/edit links
- [ ] Add deprecation notices in legacy detail templates
- [ ] Test new lease workflows end-to-end
- [ ] Prepare field removal migrations
- [ ] Document new user workflows

## Rollback Plan
If issues arise:
1. Set feature flags to `False` to re-enable legacy flows
2. Delete problematic new LandVerpachtung records if needed
3. Revert to legacy workflow until issues resolved
