I built GoSMig for my own projects and open-sourced it. Highlights:
- 
Go generics for compile-time safety
 - 
Transactional and non-transactional migrations
 - 
Rollback, status (paging), version
 - 
database/sql and sqlx supported out of the box, others would work too (some interfaces must be satisfied)
 - 
Zero external deps (aside from x/term for pager)
 
Examples: GitHub - padurean/gosmig at examples
Would love to hear what’s missing to make this production-friendly.