Почему некоторые решают рабоатать с бд на чистом sql
В целом есть несколько причин:
1) В целом ORM в го не очень удобные, тот же gorm особо не даёт выигрыша в простоте относительно sql
2) В целом запросы могут быть относительно простыми и ORM не нужна
3) Нет стандартной ORM по типу Hibernate, SQLAlchemy
4) В го у ORM есть ограничения,
5) Если ORM на основана на рефлексии то она будет медленно работать (привет gorm) даже для средненагруженных проектов, не говоря про highload
В целом многие используют штуки по типу sqiurell, и sqlc, т.к. они легче чем ORM и для ряда вещей упрощают код. Для миграций в большинстве проектов хватит go-migrate