Skip to content

Fix remaining SQLAlchemy 1.4/2.1 doc references and fact-check migration#69793

Draft
joshuabvarghese wants to merge 1 commit into
apache:mainfrom
joshuabvarghese:update-sqlalchemy-docs-69164
Draft

Fix remaining SQLAlchemy 1.4/2.1 doc references and fact-check migration#69793
joshuabvarghese wants to merge 1 commit into
apache:mainfrom
joshuabvarghese:update-sqlalchemy-docs-69164

Conversation

@joshuabvarghese

Copy link
Copy Markdown

Addresses #69164

(follow-up to #69203 )

What this does

#69200 already fixed most of the 1.4→2.0 doc links. This PR:

  1. Fixes the one remaining en/14 link (config.yml, sql_alchemy_pool_pre_ping)
  2. Fixes an adjacent en/21 (beta) link that wasn't in the original 9 but has
    the same root problem — airflow-core requires sqlalchemy>=2.0.48, not 2.1
  3. Does the fact-check the issue actually asked for (not just link-swapping)

Verification table

Location Old New How verified
config.yml:686 en/14#disconnect-handling-pessimistic en/20#disconnect-handling-pessimistic Fetched live page, confirmed the anchor exists; confirmed our description text still matches 2.0 behavior
test_orm_event_handlers.py:20 en/21 (beta) en/20 Confirmed identical content/anchor exists on en/20; consistent with the rest of the codebase and our actual version floor
utils/db.py:93-94 Stale TODO suggesting a swap to sqlalchemy.orm.MappedClassProtocol Corrected comment, TODO removed The real class checks __table__/__mapper__/__call__; ours checks __tablename__. They're not interchangeable — the TODO was wrong, not just outdated

Deliberately NOT changed

  • set-up-database.rst:201 — correctly stays on en/20/changelog/changelog_14.html even
    though it documents 1.4-era behavior, because SQLAlchemy hosts historical changelogs
    under the current docs version's URL tree. settings.py already relies on this same
    pattern independently, which cross-confirms it's correct.
  • Historical "as of SQLAlchemy 1.4..." mentions in configuration.py, provider changelogs,
    and RELEASE_NOTES.rst — true historical statements, not stale references.

Testing

  • pre-commit run --files airflow-core/src/airflow/config_templates/config.yml airflow-core/src/airflow/utils/db.py airflow-core/tests/unit/utils/test_orm_event_handlers.py — all content-inspecting hooks pass (ruff, mypy, yamllint, license headers, codespell, newsfragment check)
  • Manually re-verified the changed links by clicking through myself

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant