SQLAlchemy 2.0 cleanup: drop_all bind, dead metadata.bind, sql_query read-only
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- python, sqlalchemy
- Domaine
- databases, documentation
Piste de recherche
Commence par la fonction create_database, qui appelle base.metadata.drop_all() sans bind dans les branches Felis et non-Felis, puis dans load_connection où se trouve base.metadata.bind = engine, et dans sql_query. Reproduis le bug en appelant create_database(..., drop_tables=True) pour voir le TypeError. C'est terminé quand cet appel s'exécute sans erreur, qu'un nouveau test couvre drop_tables=True, que la ligne morte metadata.bind est supprimée et que sql_query est documentée comme étant en lecture seule.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Issue authored by Claude (Opus 5.5).
I found these while auditing for #103.
- Bug:
base.metadata.drop_all()is called with nobindincreate_database(both the Felis and non-Felis branches). In SQLAlchemy 2.0,bindis a required argument (MetaData.drop_all(self, bind, tables=None, checkfirst=True)), socreate_database(..., drop_tables=True)raisesTypeError: MetaData.drop_all() missing 1 required positional argument: 'bind'. No test currently coversdrop_tables=True. - Dead code:
base.metadata.bind = engineinload_connectiondoes nothing in SQLAlchemy 2.0, since bound metadata was removed. - Docs:
sql_queryusesengine.connect()without a commit. Any INSERT/UPDATE/DELETE sent through it is silently rolled back, so it should be documented as read-only.
Proposed fixes:
-
drop_all()→drop_all(bind=engine)(2 places), plus a test fordrop_tables=True - Remove
metadata.bind = engine - Document
sql_queryas read-only (docstring + docs)
- Langage dominant
- Python
- Étoiles
- 12
- Forks
- 5
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de astrodbtoolkit/AstrodbKit
-
Nulls and load_tablePeut-être pris @dr-rodriguez l’a pris il y a 2 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
astrodbtoolkit/AstrodbKit#109 · 1 commentaire · 1 personne assignée ·
-
Remove `wcs1d_multispec` reader.Peut-être à nouveau libre @dr-rodriguez l’a pris il y a 338 jours, et aucune pull request n’est ouverte. Ouverte
astrodbtoolkit/AstrodbKit#105 · 1 personne assignée ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
astrodbtoolkit/AstrodbKit#104 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
astrodbtoolkit/AstrodbKit#101 · 1 commentaire ·
-
enhancement good first issue
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
astrodbtoolkit/AstrodbKit#100 · 1 commentaire ·
Toutes les issues de astrodbtoolkit/AstrodbKit
Issues similaires
-
Path subtraction removes repeated suffix characters instead of one suffixPeut-être pris @Gwerdonatus l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
joke2k/django-environ#671 ·
-
good first issue help wanted windows
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
-
test_pgbouncer deploys the server under test from Charmhub instead of the local build (track/1.31)Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
canonical/temporal-k8s-operator#195 · 1 commentaire ·
Les mainteneurs répondent en général sous 4 jours
-
`burr` fails to start when the Python path has a space in itPeut-être pris @enekoreto l’a pris aujourd’hui. Ouvertestatus/needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 5 jours
-
device support request
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
zigpy/zha-device-handlers#5461 ·
Les mainteneurs répondent en général sous 4 jours