Datenbank von SQLite auf PostgreSQL umstellen #7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Die gesamte Persistenz von SQLite auf PostgreSQL umstellen. SQLite-spezifische Konstrukte entfernen, PostgreSQL-Treiber einbinden und docker-compose um einen PostgreSQL-Service erweitern.
Hintergrund
SQLite eignet sich für Prototyping, hat aber Limitierungen bei concurrent writes, hat keine echten Datentypen für JSON und skaliert nicht für produktiven Multi-User-Betrieb. Mit dem neuen Auth-System und mehreren gleichzeitigen Nutzern wird PostgreSQL notwendig.
Akzeptanzkriterien
DATABASE_URLDefault aufpostgresql://...geändertpsycopg2-binary(oderasyncpg) inrequirements.txtbackend/database.py: SQLite-spezifischescheck_same_threadentfernt, Engine-Konfiguration für PostgreSQLbackend/api/pipeline.py:julianday()durch PostgreSQL-kompatible Zeitberechnung ersetztalembic.ini:sqlalchemy.urlauf PostgreSQL-URL (aus ENV lesbar)alembic/env.py:render_as_batchentfernen (nur für SQLite nötig)docker-compose.yml: PostgreSQL-Service hinzufügen mit Volume.env.example:DATABASE_URLBeispiel auf PostgreSQLtests/conftest.py: Test-DB auf PostgreSQL oder SQLite als FallbackTechnische Hinweise
backend/config.py— Defaultdatabase_urländernbackend/database.py—check_same_threadentfernen, Engine-Args anpassenbackend/api/pipeline.py:100—julianday()→EXTRACT(EPOCH FROM ...)alembic.ini:89— URL auf PostgreSQLalembic/env.py—render_as_batch=Trueentfernen, URL aus ENV lesendocker-compose.yml— PostgreSQL-Service + Backenddepends_on.env.example— PostgreSQL-URL Beispieltests/conftest.py— Test-DB-URL anpassenrequirements.txt—psycopg2-binaryhinzufügenAufwand: L
Review bestanden
Label auf
dokugesetzt.Dokumentation aktualisiert. Issue wird geschlossen.
Geänderte Docs:
README.md: Datenbank-Abschnitt auf PostgreSQL, DATABASE_URL in Config-Tabelle, Projektstruktur-KommentarCLAUDE.md: SQLite-Einschränkung durch PostgreSQL-Hinweis ersetzt