graphql - Prisma:工作流程是什么?
问题描述
刚刚开始使用 Prisma 作为将 GraphQL 和 MySQL 集成到我正在从事的新项目中的一种方式。太棒了,我喜欢它的简单布局。关于使用 Prisma 开发时要遵循的工作流程,我有一些问题困扰着我。
例如:
昨天我按照教程设置了基本的 Prisma 和 GraphQL 服务器。这一切都运作良好。我的 datamodel.graphql 中只有一个类型。
今天早上我醒来并开始研究另一种类型,并将其添加到我的 datamodel.graphql 中。Docker 正在运行,我使用解析器更新 index.js 以支持新模型及其查询/突变。但是,在使用运行系统时,node ./index.js
我收到一条错误消息,说它不知道新模型。我怀疑 Prisma 架构尚未刷新/更新,所以我运行graphql get-schema --project prisma
但它告诉我没有任何改变。
显然我错过了一些东西。我没有以它想要的方式与 Prisma 合作。谁能告诉我事情的顺利进行必须发生的事件顺序?
该教程非常适合让您启动和运行,但我觉得它并不能很好地向开发人员介绍在日常连续开发周期中使用 Prisma 的流程。
任何信息/见解/链接都会非常有用。
非常感谢,
一个
更新
对于其他对工作流程有点迷茫的人。查看 CLI 参考。它对于所有与 Prisma 相关的任务都非常有用(不一定与您的 GraphQL 服务器有关)。关联
TL;博士:
每次数据模型更改时,您都需要重新部署 prisma 服务,以便生成的 prisma.graphql 可以使用新功能更新以与数据库一起使用。我跑了prisma deploy
,瞧!
解决方案
你错过了这prisma deploy
一步。
您将数据模型(通常称为 datamodel.graphql)与 Prisma 数据库模式(通常称为 prisma.graphql)混淆了。
Prisma 使用数据模型自动生成 Prisma 数据库模式:
请按照这个要点更详细地了解两者之间的区别:https ://gist.github.com/nikolasburk/eef24cd0d907b4a3e073723054cf847d
推荐阅读
- spring - Spring batch - 根据之前拆分完成状态的一些流程定义拆分
- r - 绘制函数的函数
- python - Is it faster to use n = len(s) instead of using len(s) directly?
- c# - 在 UI 线程上调用异步方法
- gradle - 如何使用 Gradle Kotlin-DSL 添加本地资源
- regex - powershell拆分中的正则表达式
- java - 用于数据库视图(不是表)的 JPA/SpringBoot 存储库
- ruby-on-rails - Dokku/Docker 磁盘空间不足 - 如何进入应用程序
- javascript - 按字符串值的长度过滤对象数组
- maven - 如何使用 Maven minify 插件克服“对象文字不能在 ES5 严格模式下包含重复键”错误?