为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
阿晨1998 2023-03-15 13:56:33
我正在尝试使用 golang-migrate 在我的 go-fiber rest API 中运行迁移。我在 makefile 中添加了运行迁移的命令。但是,当我运行时make migrateup,出现以下错误:migrate -path database/postgres/migrations -database "postgresql://postgres:postgres@localhost:5400/property?sslmode=disable" -verbose up2022/11/10 18:00:17 error: database driver: unknown driver postgresql (forgotten import?)make: *** [Makefile:15: migrateup] Error 1这是我正在使用的制作文件。#### IMPORT ENVinclude .envDB_URL=postgresql://$(DB_USER):$(DB_PASSWORD)@$(DB_HOST):$(DB_PORT)/$(DB_NAME)?sslmode=disablepostgres:    docker run --name postgres -p $(DB_PORT):5432 -e POSTGRES_USER=$(DB_USER) -e POSTGRES_PASSWORD=$(DB_PASSWORD) -d postgres:alpinecreatedb:    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 upmigratedown:    migrate -path database/postgres/migrations -database $(DB_URL) -verbose down.PHONY: postgres createdb dropdb请任何人帮助我理解为什么这不起作用?
查看完整描述

2 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

您需要安装带有特殊标签的 golang-migrate 以获得对特定驱动程序的支持。

它写在命令行工具的文档中:https://github.com/golang-migrate/migrate/tree/master/cmd/migrate#with-go-toolchain


查看完整回答
反对 回复 2023-03-15
?
白板的微信

TA贡献1883条经验 获得超3个赞

首先安装驱动程序数据库。


数据库迁移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=disable

version=$(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/ version

make migration-create name=users创建文件迁移


make migration-up version=1运行迁移到运行文件sql


查看完整回答
反对 回复 2023-03-15
  • 2 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信