github.com/golang-migrate/migrate/v4
. Работает как cli и как библиотека для Go.
CLI
Создать новую миграцию:
Где -seq
нужен чтобы миграции создавались с номерами вместо дат.
Применить миграцию к БД:
Golang
Следует помнить, что метод Up возвращает “no change” как ошибку! Её надо обрабатывать в явном виде.
Пример с embed миграциями
Так же в этом примере показано как использовать существующее соединение с БД, вместо формирования новой строки подключения.