首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从端点下载GraphQL架构

无法从端点下载GraphQL架构
EN

Stack Overflow用户
提问于 2020-01-25 23:05:11
回答 1查看 1.6K关注 0票数 1

我目前正在使用Prisma的graphql-cli从端点下载模式。但是,即使在我将我对我的模式所做的更改部署成功之后,每当我尝试下载该模式时,我都会得到project prisma - No changes。生成的prisma.graphql保持不变。

我使用以下命令下载架构:

代码语言:javascript
复制
graphql get-schema -p prisma --dotenv config/dev.env

dev.env只是为了获取PRISMA_ENDPOINT=http://localhost:4466/环境变量。

我尝试以一种不同的方式生成prisma.graphql,方法是在prisma.yml中使用以下内容

代码语言:javascript
复制
endpoint: ${env:PRISMA_ENDPOINT}
datamodel: datamodel.prisma
generate:
   - generator: graphql-schema
     output: ./generated/

并执行prisma generate,但我得到了错误:

/Users/F/Documents/d/server/prisma/prisma.yml:中的▸警告无法找到满足声明'env:PRISMA_ENDPOINT‘的有效环境▸变量。

尝试停止和重新创建码头,以及删除node_module和重新安装,但没有任何效果。

我的package.json

代码语言:javascript
复制
{
  "name": "graphql-basics",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node dist/index.js",
    "heroku-postbuild": "babel src --out-dir dist --copy-files",
    "dev": "env-cmd ./config/dev.env nodemon src/index.js --ext js,graphql --exec babel-node",
    "test": "env-cmd ./config/test.env jest --watch --runInBand",
    "get-schema": "graphql get-schema -p prisma --dotenv config/dev.env"
  },
  "jest": {
    "globalSetup": "./tests/jest/globalSetup.js",
    "globalTeardown": "./tests/jest/globalTeardown.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@babel/polyfill": "^7.0.0",
    "babel-cli": "^6.26.0",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "babel-register": "^6.26.0",
    "bcryptjs": "^2.4.3",
    "cross-fetch": "^2.2.2",
    "env-cmd": "^8.0.2",
    "google-auth-library": "^4.2.3",
    "graphql-cli": "^3.0.14",    
    "graphql-yoga": "^1.14.10",
    "jsonwebtoken": "^8.3.0",
    "prisma-binding": "^2.1.1"
  },
  "devDependencies": {
    "babel-plugin-transform-es2015-destructuring": "^6.23.0",
    "jest": "^23.5.0",
    "nodemon": "^1.17.5"
  },
  "resolutions": {
    "graphql": "^14.5.8"
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-27 13:11:44

要修复错误,“无法找到满足声明'env:PRISMA_ENDPOINT‘的变量。”在调用prisma generate时,您应该手动设置PRISMA_ENDPOINT变量,或者通过dotenv加载它。例如,可以运行npx dotenv -- prisma generate从.env文件加载env。

要通过graphql get-schema从端点下载模式,请确保提供正确配置的.graphqlconfig.yml并提供正确的项目。prisma项目的示例配置如下所示:

代码语言:javascript
复制
projects:
  prisma:
    schemaPath: 'src/schema.graphql'
    extensions:
      endpoints:
        default: 'http://localhost:4000/graphql'
  database:
    schemaPath: 'src/generated/prisma.graphql'
    extensions:
      prisma: 'database/prisma.yml'
      endpoints:
        default: 'http://localhost:4466'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59914163

复制
相关文章

相似问题

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