数据库驱动程序:未知驱动程序 postgresql(忘记导入?)

我正在尝试使用 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

这是我正在使用的制作文件。


#### 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

请任何人帮助我理解为什么这不起作用?


阿晨1998
浏览 104回答 2
2回答

ibeautiful

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

白板的微信

首先安装驱动程序数据库。数据库迁移go install -tags "postgres,mysql" github.com/golang-migrate/migrate/v4/cmd/migrate@latest我使用代码生成文件table = $(table)name = $(name)url=postgres://postgres:secret@127.0.0.1:5432/school?sslmode=disableversion=$(version)migration-up :    migrate -database "$(url)" -path ./migrations/ up $(version)    migration-down :    migrate -database "$(url)" -path ./migrations/ down $(version)    migration-create:    migrate create -ext sql -dir ./migrations/ -seq $(name)migration-force:    migrate -database "$(url)" -path ./migrations/ force $(version)migration-version:    migrate -database "$(url)" -path ./migrations/ versionmake migration-create name=users创建文件迁移make migration-up version=1运行迁移到运行文件sql
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go