testcontainers / testcontainers/testcontainers-python

Creating a Postgres contrainer with an async driver fails

Aperta
#263 8 commenti 3 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

  • #320 di @fourteekey — chiusa senza merge
👀 requires attention 📦 package: postgres 🚀 enhancement
Lingua principale
Python
Stelle
2.3k
Fork
386
Merge medio
4h 40m
PR unite (30g)
1

Descrizione

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?

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia da testcontainers/core/generic.py intorno alla riga 55 e segui il modo in cui PostgresContainer("postgres:14.4", driver="asyncpg") viene creato e si connette tramite SQLAlchemy. Esamina la gestione esistente della selezione del driver e la pull request collegata e chiusa per avere contesto. Il lavoro è completato quando la creazione di un container con un driver asincrono non fallisce più durante la connessione automatica e il comportamento previsto di skip o di contesto asincrono è coperto da un test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
postgresql, python, sqlalchemy
Ambito
databases
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.