当前位置: 首页 > 知识库问答 >
问题:

无法从endpoint下载GraphQL架构

丌官运诚
2023-03-14

我目前正在使用Prisma的graphql cli从endpoint下载模式。但是,即使在我部署了对模式所做的更改(部署成功)之后,每当我尝试下载模式时,我都会得到projectprisma-没有更改。以及生成的prisma。图形ql保持不变。

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

graphql get-schema -p prisma --dotenv config/dev.env

dev.env只是获取PRISMA\uendpoint=http://localhost:4466/环境变量。

我试图通过在prisma.yml中包含以下内容来以不同的方式生成prisma.graphql

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'的有效的环境。

尝试停止并重新创建Docker,删除节点\u模块并重新安装,但没有成功。

我的package.json

{
  "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"
  }
}


共有1个答案

太叔烨霖
2023-03-14

若要修复错误,“未能找到满足声明'env:PRISMA_ENDPOINT'的变量。”调用prisma generate时,应手动设置prisma_endpoint变量,或通过dotenv加载该变量。例如,您可以运行npx dotenv--prisma generate从您的数据库加载环境变量。环境文件

要通过graphql get schema从endpoint下载架构,请确保提供正确配置的。graphqlconfig。yml并提供正确的项目。prisma项目的示例配置可能如下所示:

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'
 类似资料:
  • 我在Spring Boot 2和GraphQL中使用了以下示例,但在加载graphiql时出现了以下错误,模式没有加载。 https://github.com/TechPrimers/spring-boot-graphql-query-example 该代码通过postman但来自Graphiql的POST调用工作。

  • 我目前正在使用apollo android和iOs库,这需要我下载模式。是否可以从graphicql下载模式?目前,我一直从命令行收到错误,无法从GraphiQL界面手动下载。提前谢谢!

  • 我正在使用Javase6手动部署webservice。我想使用@SchemaValidation来验证SOAP流量。在发布终结点期间,我收到错误: 原因:org.xml.sax.SAXParseException:s4s-att-invalid-value:元素“restriction”中“base”的属性值无效。记录原因:UndeclaredPrefix:无法将“xsd:string”解析为QN

  • 我正在开发一个Android应用程序。我能够在我的设备上成功地测试它。所以我在Google Play商店上推送了发布的版本。现在我从设备中卸载了调试构建,并尝试从Play Store下载它。但当我点击安装按钮,我得到这个错误。 您无法安装此应用程序,因为另一个用户已经在此设备上安装了不兼容的版本... 我只使用Google Play服务。不使用任何存储或任何可能对不同的用户和Android L不同

  • 一个月前,我可以在IntelliJ的基础上从头开始成功地构建Java应用程序,现在,我必须升级spring boot以获得一些新功能。但是,在我将spring boot的版本从2.2.2更改之后。发布到其他版本,然后单击“重新加载所有Maven项目”按钮,我会收到以下消息: 一个月前下载2.2.2还可以。释放。为什么此时更新失败?我的信息如下:MacOS 12.2,捆绑(Maven 3),Java

  • 虽然使用GraphiQL效果很好,但我的老板要求我实现一个用户界面,用户可以通过诸如checkbox、map relationships之类的UI元素检查呈现给他们的元素,并获取数据,这样做将为用户生成GraphiQL输入,调用API并将结果返回给用户。 所以,基本上这涉及到两代人。从GraphQL模式生成用户界面,并从用户的选择生成GraphQL输入查询。 我搜索了一下,但没有找到任何工具已经做