Start here
The safe first move
Start with direct syntax cleanup, report execution-boundary changes, and leave broad Query-to-select rewrites for a deliberate stage.
Stop before automation when: Application-specific transaction rules. Result-shape changes from ORM query rewrites.
Target shape
codemod: Query.get, select([..]), simple string paths
manual review: engine.execute, from_self, multi-hop joins
later stage: broad Query-to-select redesign