SQLAlchemy 2.0 cleanup: drop_all bind, dead metadata.bind, sql_query read-only
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 78/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- python, sqlalchemy
調査の方向性
create_database 関数から始めてください。この関数は Felis と非 Felis の両方の分岐で、bind を指定せずに base.metadata.drop_all() を呼び出しています。次に load_connection の base.metadata.bind = engine の箇所、そして sql_query を確認してください。create_database(..., drop_tables=True) を呼び出して TypeError が出ることを再現してください。この呼び出しがエラーなしで実行でき、drop_tables=True をカバーする新しいテストが追加され、不要になった metadata.bind の行が削除され、sql_query が読み取り専用であると文書化されたら完了です。
索引モデルが issue の本文から書いたものです。
説明
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)
- 主要言語
- Python
- スター
- 12
- フォーク
- 5
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
astrodbtoolkit/AstrodbKit のほかの issue
-
Nulls and load_table対応中かも @dr-rodriguez が 1 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
astrodbtoolkit/AstrodbKit#109 · コメント 1 件 · 担当者 1 名 ·
-
Remove `wcs1d_multispec` reader.再び着手できるかも @dr-rodriguez が 337 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
astrodbtoolkit/AstrodbKit#105 · 担当者 1 名 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
astrodbtoolkit/AstrodbKit#104 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 42/100
astrodbtoolkit/AstrodbKit#101 · コメント 1 件 ·
-
enhancement good first issue
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
astrodbtoolkit/AstrodbKit#100 · コメント 1 件 ·
astrodbtoolkit/AstrodbKit の issue をすべて見る
似ている issue
-
customer-reported question
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
Azure/azure-sdk-for-python#49548 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
btclib-org/btclib-wallet#409 ·
メンテナーはふだん 1 日以内に返信
-
Phase 2 PSA Capability & Career Profile
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
bcgov/digital-journeys#2310 ·
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
fastmachinelearning/hls4ml#1582 ·
メンテナーはふだん 3 日以内に返信
-
Sort modelsオープンenhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信