--- name: sqlalchemy-2x description: SQLAlchemy 2.x — select() com session.execute, Mapped[] nos modelos roles: [builder] category: stack --- - Use `select(...)` com `session.execute()`, não `session.query()` (legacy 1.x). - Modelos com `Mapped[X]` e `mapped_column(...)`. - Sessions via context manager (`with Session() as s:`). - `selectinload`/`joinedload` explícitos contra N+1. - Async session (`AsyncSession`) se o app é async. - Migrations com Alembic, reversíveis.