Implemented as part of [ENG-10603](https://linear.app/comm/issue/ENG-10603/biggest-risk-factor-out-code-from-databasequeryexecutor)
This is in order to make `connectionManager` non-static. Also, we want to migrate multiple databases independently of each other.
Depends on D14730