One comment on the use... this isn't the best way to use dotenv... the way tfa is using it is as a configuration file, not as a system environment helper. You should combine the .env loading with your system environment and single out the environment variables you are using. The way the it is being used will hinder use of a container or orchestration system like docker and/or kubernetes and just bypasses the intent of how .env files should work, mostly for local development.
Aside: just not a big fan of ORMs for use with scripted languages... I prefer implicit queries against the data store. From there it's easy enough to transform to/from your typescript class/interface based structures. In fact, with template string processors, it can be much, much cleaner and simpler to just use SQL for your queries, without the level of boilerplate or impedance that an ORM introduces in a scripted language.