◐ Shell
clean mode source ↗

Update to SQLAlchemy 2.0 by Daniel-Faber · Pull Request #78 · cosmicpython/code

The used sqlalchemy.orm.mappers are deprecated in SQLAlchemy 2.0, alongside other breaking changes fixed in this PR.
Mainly we have to use sqlalchemy.orm.registry.map_imperatively instead of sqlalchemy.orm.mappers.
We can also re-use the mapper_registry to replace sqlalchemy.Metadata, see the docs: https://docs.sqlalchemy.org/en/20/orm/mapping_styles.html#imperative-mapping

Full Changelog fixing all breaking changes in SQLAlchemy 2.0:

  • Use sqlalchemy.sql.text when running sqlalchemy.orm.session.execute
  • Convert rows to dicts via row._asdict() instead of dict(r)
  • Use sqlalchemy.orm.registry.map_imperatively instead of sqlalchemy.orm.mappers
  • Optional: Use sqlalchemy.orm.registry.metadata instead of sqlalchemy.Metadata