亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數據庫驅動程序:未知驅動程序 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條經驗 獲得超6個贊

您需要安裝帶有特殊標簽的 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:[email protected]: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 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號