我尝试使用下面的代码将数据库架构迁移到 POSTGRESQL 但它不起作用,它返回了一个错误
"source driver: unknown driver file (forgotten import?)"
使用 CLI 效果很好
Up.sql
和 down.sql
文件位于 dbMigration 文件夹
package main
import (
"log"
"github.com/golang-migrate/migrate"
)
func main() {
mg, err := migrate.New(
"file://dbMigration",
"postgres://username:localhost:5432/databasename?sslmode=disable",
)
if err != nil {
log.Fatal(err)
}
if err = mg.Up; err != nil {
log.Fatal(err)
}
}
最佳答案
如果在go中使用数据库包,通常需要单独导入驱动。
这也是错误试图告诉您的内容。
source driver: unknown driver file (forgotten import?)
在 golang-migrate 中,您可以从其存储库导入驱动程序。
import (
"github.com/golang-migrate/migrate/v4"
_ "github.com/golang-migrate/migrate/v4/database/postgres"
_ "github.com/golang-migrate/migrate/v4/source/github"
)
这也记录在他们的 readme 中.
关于使用库进行数据库迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70821878/