首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SQLC从不工作码头迁移数据库

使用SQLC从不工作码头迁移数据库
EN

Stack Overflow用户
提问于 2022-09-13 00:49:13
回答 1查看 150关注 0票数 1

我试图在Windows上使用SQLC生成数据库迁移。根据正式文件,我需要运行Docker命令(因为它支持Windows上的Postgres )。

如果我从CLI运行docker run --rm -v "${pwd}:/src" -w /src kjconroy/sqlc generate,它就能工作。但是,如果我运行make sqlc,它将显示一个错误:

docker run --rm -v ": /src“-w /src kjconroy/sqlc生成 解析配置文件时出错。sqlc.yaml或sqlc.json:文件不存在 make:* Makefile:12: sqlc错误1

我的文件夹结构如下:

  • app/
    • db/
      • 移徙/
      • 查询/
        • myquery.sql

代码语言:javascript
复制
    - sqlc/
代码语言:javascript
复制
- sqlc.yaml
- Makefile

我的sqlc.yaml文件有以下内容:

代码语言:javascript
复制
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这个:

代码语言:javascript
复制
sqlc:
    docker run --rm -v "${pwd}:/src" -w /src kjconroy/sqlc generate

.PHONY: sqlc

那么,如何使它从Makefile中工作呢?我不明白这里的错误吗?也许场映射是错的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-13 03:18:41

错误sqlc.yaml or sqlc.json: file does not exist只意味着sqlc (在容器中运行)没有在/src中找到sqlc.yaml文件。启动容器时,您要将${pwd}映射到/src,因此问题是${pwd}没有像您期望的那样计算到app/db文件夹。这可能是由于以下任何一种原因:

在您的情况下(基于您的评论),这是前者,并将${pwd}改为${CURDIR}解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73696535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档