Feature: Flyway fuer SQLite-DB-Migration integrieren #49

Closed
opened 2026-04-27 14:32:14 +02:00 by marcus · 1 comment
Owner

Motivation

Der aktuelle Bug #48 (DateTimeParseException durch altes Zeitstempelformat in der DB) zeigt das grundlegende Problem: Schema- und Datenformat-Aenderungen an der SQLite-DB werden aktuell manuell und ad-hoc behandelt. Das ist fehleranfaellig und schwer nachzuvollziehen.

Flyway wuerde DB-Migrationen versioniert, reproduzierbar und automatisch beim Start der Anwendung einspielen.

Vorteile

  • Migrationen sind versioniert und nachvollziehbar (V1__, V2__, ...)
  • Automatische Ausfuehrung beim Anwendungsstart
  • Bestehende Daten werden sauber migriert (z.B. Zeitstempelformat-Korrektur)
  • Kein manueller Eingriff in die DB notwendig
  • Neue Felder (wie lastSuccessInstant, lastFailureInstant) koennen sauber per Migration eingefuehrt werden

Hinweise zur Integration

  • Flyway unterstuetzt SQLite (Community-Dialekt)
  • Dependency: org.flywaydb:flyway-core
  • Migrationsskripte unter src/main/resources/db/migration/
  • Integration im Bootstrap-Modul beim Start

Zusammenhang

Direkt verursacht durch Bug #48 – haette mit Flyway verhindert werden koennen.

## Motivation Der aktuelle Bug #48 (DateTimeParseException durch altes Zeitstempelformat in der DB) zeigt das grundlegende Problem: Schema- und Datenformat-Aenderungen an der SQLite-DB werden aktuell manuell und ad-hoc behandelt. Das ist fehleranfaellig und schwer nachzuvollziehen. Flyway wuerde DB-Migrationen versioniert, reproduzierbar und automatisch beim Start der Anwendung einspielen. ## Vorteile - Migrationen sind versioniert und nachvollziehbar (V1__, V2__, ...) - Automatische Ausfuehrung beim Anwendungsstart - Bestehende Daten werden sauber migriert (z.B. Zeitstempelformat-Korrektur) - Kein manueller Eingriff in die DB notwendig - Neue Felder (wie lastSuccessInstant, lastFailureInstant) koennen sauber per Migration eingefuehrt werden ## Hinweise zur Integration - Flyway unterstuetzt SQLite (Community-Dialekt) - Dependency: `org.flywaydb:flyway-core` - Migrationsskripte unter `src/main/resources/db/migration/` - Integration im Bootstrap-Modul beim Start ## Zusammenhang Direkt verursacht durch Bug #48 – haette mit Flyway verhindert werden koennen.
Author
Owner

Umgesetzt in V3.0: Flyway-Integration abgeschlossen. V1__initial_schema.sql mit vollständigem Zielschema, 3-Fall-Strategie, baselineOnMigrate=true ausschließlich in Fall 2, PRAGMA foreign_keys via SQLiteConfig.enforceForeignKeys, Lock-Mechanismus implementiert, evolveTableColumns vollständig entfernt. Commit 732d00c.

Umgesetzt in V3.0: Flyway-Integration abgeschlossen. V1__initial_schema.sql mit vollständigem Zielschema, 3-Fall-Strategie, baselineOnMigrate=true ausschließlich in Fall 2, PRAGMA foreign_keys via SQLiteConfig.enforceForeignKeys, Lock-Mechanismus implementiert, evolveTableColumns vollständig entfernt. Commit 732d00c.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marcus/pdf-umbenenner#49