Alle Repositories verwenden deprecated MikroORM-Methoden #149

Closed
opened 2026-01-24 09:57:45 +00:00 by jack · 0 comments
Owner

Problem

In allen MikroORM-Repositories werden veraltete Methoden verwendet:

Deprecated Methoden

Methode Warnung
persistAndFlush TS6385: is deprecated (EntityManager.d.ts:413)
removeAndFlush TS6385: is deprecated (EntityManager.d.ts:426)

Betroffene Dateien

Repository persistAndFlush removeAndFlush
SessionRepository.ts Zeile 54 Zeile 156
TaskRepository.ts Zeile 67 -
ObservationRepository.ts Zeile 70 Zeile 227
DocumentRepository.ts Zeile 62 Zeile 242
SummaryRepository.ts Zeile 54 Zeile 142
ClaudeMdRepository.ts Zeile 71 Zeile 119
UserPromptRepository.ts Zeile 57 -

Lösung

Die MikroORM-Dokumentation empfiehlt die Verwendung von em.flush() separat:

Vorher (deprecated)

await this.em.persistAndFlush(entity);
await this.em.removeAndFlush(entity);

Nachher (empfohlen)

this.em.persist(entity);
await this.em.flush();

this.em.remove(entity);
await this.em.flush();

Oder mit Unit of Work Pattern:

// Mehrere Operationen sammeln
this.em.persist(entity1);
this.em.persist(entity2);
this.em.remove(entity3);
// Einmal flushen
await this.em.flush();

Schritte

  1. MikroORM-Dokumentation prüfen für aktuelle Best Practices
  2. Alle 7 Repositories aktualisieren
  3. persistAndFlush durch persist + flush ersetzen
  4. removeAndFlush durch remove + flush ersetzen
  5. Alle betroffenen Features testen

Betroffene Dateien

packages/database/src/mikro-orm/repositories/*.ts

## Problem In allen MikroORM-Repositories werden veraltete Methoden verwendet: ### Deprecated Methoden | Methode | Warnung | |---------|---------| | `persistAndFlush` | TS6385: is deprecated (EntityManager.d.ts:413) | | `removeAndFlush` | TS6385: is deprecated (EntityManager.d.ts:426) | ### Betroffene Dateien | Repository | persistAndFlush | removeAndFlush | |------------|-----------------|----------------| | `SessionRepository.ts` | Zeile 54 | Zeile 156 | | `TaskRepository.ts` | Zeile 67 | - | | `ObservationRepository.ts` | Zeile 70 | Zeile 227 | | `DocumentRepository.ts` | Zeile 62 | Zeile 242 | | `SummaryRepository.ts` | Zeile 54 | Zeile 142 | | `ClaudeMdRepository.ts` | Zeile 71 | Zeile 119 | | `UserPromptRepository.ts` | Zeile 57 | - | ## Lösung Die MikroORM-Dokumentation empfiehlt die Verwendung von `em.flush()` separat: ### Vorher (deprecated) ```typescript await this.em.persistAndFlush(entity); await this.em.removeAndFlush(entity); ``` ### Nachher (empfohlen) ```typescript this.em.persist(entity); await this.em.flush(); this.em.remove(entity); await this.em.flush(); ``` Oder mit Unit of Work Pattern: ```typescript // Mehrere Operationen sammeln this.em.persist(entity1); this.em.persist(entity2); this.em.remove(entity3); // Einmal flushen await this.em.flush(); ``` ## Schritte 1. [ ] MikroORM-Dokumentation prüfen für aktuelle Best Practices 2. [ ] Alle 7 Repositories aktualisieren 3. [ ] `persistAndFlush` durch `persist` + `flush` ersetzen 4. [ ] `removeAndFlush` durch `remove` + `flush` ersetzen 5. [ ] Alle betroffenen Features testen ## Betroffene Dateien `packages/database/src/mikro-orm/repositories/*.ts`
jack changed title from ClaudeMdRepository verwendet deprecated MikroORM-Methoden to Alle Repositories verwenden deprecated MikroORM-Methoden 2026-01-24 09:58:09 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
customable/claude-mem#149
No description provided.