testcontainers / testcontainers/testcontainers-python

Creating a Postgres contrainer with an async driver fails

Offen
#263 8 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

  • #320 von @fourteekey — ohne Merge geschlossen
👀 requires attention 📦 package: postgres 🚀 enhancement
Vorherrschende Sprache
Python
Sterne
2.3k
Forks
386
Ø Merge
4 Std. 40 Min.
Gemergte PRs (30 T.)
1

Beschreibung

Hello,
When creating a new database container, testcontainers automatically tries to connect to it here, but if I specify an async driver (e.g. PostgresContainer("postgres:14.4", driver="asyncpg")) sqlalchemy tries to use that and fails because it's not in an async context.
Is there any way to skip trying to connect to the database or fix it so it can also handle async context?

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne bei testcontainers/core/generic.py ungefähr in Zeile 55 und verfolge, wie PostgresContainer("postgres:14.4", driver="asyncpg") über SQLAlchemy erstellt und verbunden wird. Prüfe die bestehende Behandlung der Treiberauswahl und den geschlossenen verknüpften Pull Request als Kontext. Erledigt bedeutet, dass das Erstellen eines Containers mit einem asynchronen Treiber während der automatischen Verbindung nicht mehr fehlschlägt und das vorgesehene Überspringen oder das Verhalten im asynchronen Kontext durch einen Test abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
postgresql, python, sqlalchemy
Bereich
databases
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.