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

#postgresql #go #migration #golang-migrate

#postgresql #Вперед #миграция #golang-перенести

Вопрос:

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

Комментарии:

1. Так и должно быть postgres://postgres:postgres@localhost:5439/basename?sslmode=disable , внимательно прочитайте документ.

2. @Зелёный эти записи эквивалентны (я проверил это на всякий случай: error: database driver: unknown driver postgres (forgotten import?) )

Ответ №1:

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

Смотрите документацию https://github.com/golang-migrate/migrate/tree/master/cmd/migrate#with-go-toolchain

 $ 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