golang-перенести неизвестный драйвер postgresql с помощью команды терминала

Когда я пытаюсь перейти на свою базу, используя команду терминала (migrate -path scripts -database "postgresql://postgres:postgres@localhost:5439/basename?sslmode=disable" -verbose down) Получил ошибку: error: database driver: unknown driver postgresql (forgotten import?). Как это исправить?

2 ответа

Решение

Я думаю, вам нужно построить с конкретным тегом, чтобы добавить конкретный драйвер.

См. Документацию https://github.com/golang-migrate/migrate/tree/master/cmd/migrate

$ go get -u -d github.com/golang-migrate/migrate/cmd/migrate
$ cd $GOPATH/src/github.com/golang-migrate/migrate/cmd/migrate
$ git checkout $TAG  # e.g. v4.1.0
$ go build -tags 'postgres' -ldflags="-X main.Version=$(git describe --tags)" -o $GOPATH/bin/migrate $GOPATH/src/github.com/golang-migrate/migrate/cmd/migrate

Для новых версий Golang(Go 1.16+)

  1. Если вы хотите установить версию с версией, например:

$ go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@$TAG

ГдеTAG=v4.1.0илиTAG=v4.1.xи т. д.

  1. Если вы хотите установить неверсионную версию, например:

$ go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest

Другие вопросы по тегам