Projekt

Allgemein

Profil

Aktionen

Feature #165

geschlossen
JH

Datenbank nach der Migration verkleinern (VACUUM)

Feature #165: Datenbank nach der Migration verkleinern (VACUUM)

Von Julius Haman vor 18 Tagen hinzugefügt. Vor 18 Tagen aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
Beginn:
14.10.2026
Abgabedatum:
% erledigt:

100%

Geschätzter Aufwand:
Gefunden in Version:

Beschreibung

Idee

Nach einer Datenbankmigration ist die Datei deutlich größer als nötig (Beispiel: 90 MB statt 46 MB nach einem manuellen VACUUM). Die Migration arbeitet auf einer Kopie und baut dabei Tabellen um; der frei gewordene Platz bleibt in der Datei.

Umsetzung

  • Am Ende von MigrationService.MigrateAsync wird auf der migrierten Datenbank VACUUM ausgeführt (nur Ergebnisdatenbank, keine Zwischenstände).
  • Größe vorher/nachher wird ins Log geschrieben.
  • Ein Fehlschlag (z. B. zu wenig Plattenplatz) wird nur als Warnung geloggt und bricht die Migration nicht ab.

Hinweise

  • Keine neue Migrationsversion nötig, das Schema ändert sich nicht.
  • Wirkt nur bei tatsächlich ausgeführter Migration; bereits migrierte, aufgeblähte Datenbanken werden dadurch nicht nachträglich verkleinert.
  • Mögliche Erweiterung: VACUUM beim Start, wenn viele freie Seiten vorhanden sind (PRAGMA freelist_count).
  • Hintergrund: Die Dateigröße spielt eine Rolle, wenn die Datenbank in einem Sync-Ordner liegt, da dort bei jeder Änderung die ganze Datei übertragen wird.

JH Von Julius Haman vor 18 Tagen aktualisiert Aktionen #1

  • Status wurde von Neu zu In Bearbeitung geändert
  • Zielversion wurde auf ErControl 3.1.10 gesetzt

JH Von Julius Haman vor 18 Tagen aktualisiert Aktionen #2

  • Status wurde von In Bearbeitung zu Erledigt geändert
  • % erledigt wurde von 0 zu 100 geändert
Aktionen

Auch abrufbar als: PDF Atom