我正在嘗試在 Windows 作業系統上使用SQLC生成資料庫遷移。根據官方檔案,我需要運行 Docker 命令(因為它支持 Windows 上的 Postgres)。
如果我docker run --rm -v "${pwd}:/src" -w /src kjconroy/sqlc generate從 CLI 運行,它可以作業。但是如果我運行make sqlc它會顯示一個錯誤:
docker run --rm -v ":/src" -w /src kjconroy/sqlc 生成
決議組態檔時出錯。sqlc.yaml 或 sqlc.json:檔案不存在
make: *** [Makefile:12: sqlc] 錯誤 1
我的檔案夾結構是這樣的:
- 應用程式/
- D b/
- 移民/
- 詢問/
- 查詢.sql
- sqlc/
- sqlc.yaml
- 生成檔案
- D b/
我的sqlc.yaml檔案有這個:
version: "1"
packages:
- name: "db"
path: "./db/sqlc"
queries: "./db/query"
schema: "./db/migration/"
engine: "postgresql"
emit_json_tags: true
emit_prepared_queries: false
emit_interface: false
emit_exact_table_names: false
而Makefile這個:
sqlc:
docker run --rm -v "${pwd}:/src" -w /src kjconroy/sqlc generate
.PHONY: sqlc
那么,如何讓它從 Makefile 中作業呢?我沒有在這里得到錯誤?也許欄位映射是錯誤的?
uj5u.com熱心網友回復:
該錯誤sqlc.yaml or sqlc.json: file does not exist僅意味著sqlc(在容器中運行)未sqlc.yaml在/src. 啟動要映射${pwd}到的容器時/src,問題是沒有像您期望${pwd}的那樣評估檔案夾。app/db這可能是由于:
- 嘗試擴展它(參見GNU Make 檔案和這個問題)或者,
- 它只是沒有決議到 db 檔案夾
在您的情況下(根據您的評論),它是前者并且正在改變${pwd}以${CURDIR}解決問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/508335.html
標籤:PostgreSQL 码头工人 去 生成文件 sqlc
