I think the purpose of go is to write CRUD. Stray from that and you're on your own.

crud is a pretty poor fit for go, you're better served by languages like python that can autogenerate classes that reflect the db schema. go's sweet spot is things like network servers.

you just need the right tools https://github.com/CaliLuke/loom