已經(jīng)有幾個答案,但他們似乎告訴我做我已經(jīng)在做的事情,并且不要更深入地研究問題可能是什么。一點偵察。我試圖讓我的 Go 應用程序在啟動時運行數(shù)據(jù)庫遷移。我有一個在 docker 容器中運行的 Postgres 數(shù)據(jù)庫。我可以使用我的數(shù)據(jù)庫工具連接到它。我可以使用命令行從其位置運行遷移文件。但是,如果我按原樣運行我的服務,我會得到:source driver: unknown driver postgres (forgotten import?)這是我的代碼:package mainimport ( "database/sql" "log" "os" "github.com/golang-migrate/migrate/v4" _ "github.com/golang-migrate/migrate/v4/database/postgres" _ "github.com/golang-migrate/migrate/v4/source/file" _ "github.com/lib/pq" "github.com/joho/godotenv")func init() { if err := godotenv.Load(".env"); err != nil { log.Println("no .env file found") }}func main() { db_url := os.Getenv("POSTGRES_URL"); mig_url := os.Getenv("MIGRATION_URL") MustMigrateUp(db_url, mig_url) _, err := sql.Open("postgres", db_url) if err != nil { log.Fatal(err) }}func MustMigrateUp(db_url, mig_url string) { m, err := migrate.New( db_url, mig_url, ) println(os.Getenv("POSTGRES_URL")) if err != nil { log.Fatalln(err) } if err := m.Up(); err != nil { log.Fatalln(err) }}我很感激任何反饋!
1 回答

動漫人物
TA貢獻1815條經(jīng)驗 獲得超10個贊
migrate.New() 期望參數(shù)中的數(shù)據(jù)庫 url 第二個。 https://godoc.org/github.com/golang-migrate/migrate#New
不要只在凌晨 3 點編碼。
- 1 回答
- 0 關(guān)注
- 262 瀏覽
添加回答
舉報
0/150
提交
取消