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

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

在 Windows 上運行 mysql 數據庫遷移時文件不存在

在 Windows 上運行 mysql 數據庫遷移時文件不存在

Go
皈依舞 2022-08-01 10:39:45
我克隆了一個現有的存儲庫(由我辦公室的一個團隊創建的存儲庫,該團隊處理我們正在處理的某個應用程序中的訂閱),該存儲庫在路徑中具有一些數據庫遷移文件。\internal\db\migrations ,這是遷移文件的路徑。首先,我運行命令.for a existing docker.yaml,然后我運行命令。docker compose upgo buildgo run .我進行了調試,應用程序在即將運行遷移文件時達到了點,然后顯示錯誤:無法初始化應用程序。錯誤: 第一個 D:\訂閱存儲: 文件不存在盡管我通過調試檢查了路徑,但它們是正確的,同時遷移文件都存在。我使用Visual Studio代碼作為編輯器,Go版本1.15,docker和MySQL。我在環境窗口10上運行。
查看完整描述

1 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

經過調試和搜索,發現存儲庫使用一些路徑從本地驅動器獲取遷移文件。路徑是在代碼庫中為Mac編寫的,我在Windows計算機上克隆了存儲庫,因此它不起作用。

該錯誤專門發生在函數的調用中

migrate.NewWithDatabaseInstance(
        fmt.Sprintf("file://%s", fullPath),
                "mysql",
        driver,
    )

為第一個參數生成的路徑為

file//d:\\subscription-store\\....\\db\\migrations

這對于Windows來說是錯誤的,因為驅動程序d:不應該在路徑中受支持。它解析如下

"file:///"+"subscription-store\\....\\db\\migrations"

當上面的URL發送到函數而不是舊的URL時,它工作成功。


查看完整回答
反對 回復 2022-08-01
  • 1 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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