Simple, minimal SQL database migrations written in Go with generics. Std lib database/sql and SQLX supported OOTB

7 points by ogg


I built GoSMig for personal projects and open-sourced it. It’s a tiny library for writing migrations in Go (compile-time checks via generics). Supports both transactional and non-transactional steps, rollback, status/version commands, and a built-in CLI handler so you can ship your own tool.

Repo: https://github.com/padurean/gosmig Examples: https://github.com/padurean/gosmig/tree/examples

Curious how this compares to your current workflow and what would make it adoptable at work.

sigmonsez

Are there any notable differences to existing migrate tools?

specifically what are the differences to goose, golang-migrate/migrate or ariga/atlas