gpt4 book ai didi

postgresql - golang-migrate无法找到postgres驱动程序

转载 作者:行者123 更新时间:2023-12-01 22:07:11 24 4
gpt4 key购买 nike

在我的internal/platform/database/database.go


import (
"github.com/golang-migrate/migrate"
"github.com/jmoiron/sqlx"
_ "github.com/lib/pq"
)

func RunMigrations() error {
m, err := migrate.New(
"file://schema",
"postgres://postgres:postgres@localhost:5432/postgres?sslmode=disable")
if err != nil {
return errors.Wrap(err, "error creating migrations object")
}

从我的 cmd/my-api/main.go调用此函数,如下所示:


import (
_ "github.com/golang-migrate/migrate/v4/database/postgres"
_ "github.com/golang-migrate/migrate/v4/source/file"
"github.com/jmoiron/sqlx"
_ "github.com/lib/pq"
"github.com/myrepo/myproject/internal/platform/database"
)

// =========================================================================
// Executing migrations
if err := database.RunMigrations(); err != nil {
log.Fatal(err)
}

虽然我要在 两个文件中同时导入 postgres驱动程序,但是 _ "github.com/lib/pq"
运行该程序失败,如下所示:
error creating migrations object: source driver: unknown driver file (forgotten import?)
exit status 1

这是为什么?

最佳答案

似乎golang-migrate需要相应驱动程序的自身版本(?)

以下导入为我解决了

_ "github.com/golang-migrate/migrate/v4/database/postgres"

关于postgresql - golang-migrate无法找到postgres驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60905192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com