错误:数据库驱动程序:未知的驱动程序postgresql(忘记导入?)-如何使用make文件运行golang migrate

zynd9foi  于 2022-11-23  发布在  PostgreSQL
关注(0)|答案(2)|浏览(97)

我正在尝试使用golang-migrate在我的go-fiber rest API中运行迁移。
我在makefile中添加了运行迁移的命令。但是,当我运行make migrateup时,我得到了以下错误:

migrate -path database/postgres/migrations -database "postgresql://postgres:postgres@localhost:5400/property?sslmode=disable" -verbose up
2022/11/10 18:00:17 error: database driver: unknown driver postgresql (forgotten import?)
make: *** [Makefile:15: migrateup] Error 1

这是我正在使用的make文件。

#### IMPORT ENV
include .env
DB_URL=postgresql://$(DB_USER):$(DB_PASSWORD)@$(DB_HOST):$(DB_PORT)/$(DB_NAME)?sslmode=disable

postgres:
    docker run --name postgres -p $(DB_PORT):5432 -e POSTGRES_USER=$(DB_USER) -e POSTGRES_PASSWORD=$(DB_PASSWORD) -d postgres:alpine

createdb:
    docker exec -it postgres createdb --username=$(DB_USER) --owner=$(DB_OWNER) $(DB_NAME)

dropdb:
    docker exec -it postgres dropdb --username=$(DB_USER) $(DB_NAME)

migrateup:
    migrate -path database/postgres/migrations -database "$(DB_URL)" -verbose up

migratedown:
    migrate -path database/postgres/migrations -database $(DB_URL) -verbose down

.PHONY: postgres createdb dropdb

请任何人能帮助我理解为什么这是行不通的?

h79rfbju

h79rfbju1#

您需要安装带有特殊标记的golang-migrate以支持特定的驱动程序。
它写在命令行工具的文档中:https://github.com/golang-migrate/migrate/tree/master/cmd/migrate#with-go-toolchain

unhi4e5o

unhi4e5o2#

这个问题通过卸载Golang Migrate并重新安装来解决,之后就工作了。

相关问题