首页 文章

Prisma:工作流程是什么?

提问于
浏览
4

刚开始使用Prisma作为将GraphQL和MySQL集成到我正在开发的新项目中的一种方法 . 这很棒,我喜欢它简单地解决问题 . 关于使用Prisma开发时要遵循的工作流程,我有几个问题困扰着我 .

例如:

昨天我根据教程设置了基本的Prisma和GraphQL服务器 . 一切都运作良好 . 我只有一个在我的datamodel.graphql中建模的类型 .

今天早上我醒来并开始处理另一种类型并将其添加到我的datamodel.graphql中 . Docker正在运行,我使用解析器更新index.js以支持新模型及其Querys / Mutations . 但是,当使用 node ./index.js 运行系统时,我得到一个错误,说它已经刷新/更新,所以我运行 graphql get-schema --project prisma 但它告诉我没有任何改变 .

显然我错过了一些东西 . 我不是以他们想要的方式与Prisma合作 . 任何人都可以说明事情的顺序,以便事情顺利进行吗?

本教程非常适合让您启动并运行,但我觉得它并没有很好地向开发人员介绍在日常的持续开发周期中使用Prisma的流程 .

任何信息/见解/链接都非常有用 .

非常感谢,

一个

UPDATE

对于那些对工作流程有点迷失的人 . 看一下CLI参考 . 它对所有与Prisma相关的任务非常有用(不一定与GraphQL服务器有关) . LINK

TL;DR:

每次数据模型更改时,您都需要重新部署prisma服务,以便可以使用新功能更新生成的prisma.graphql以使用数据库 . 我跑了 prisma deploy 瞧!

3 回答

  • 5

    你错过了 prisma deploy 步骤 .

    您将数据模型(通常称为datamodel.graphql)与Prisma数据库模式(通常称为prisma.graphql)混淆 .

    Prisma使用数据模型自动生成Prisma数据库模式:

    enter image description here

    请按照这个要点更详细地看到两者之间的区别:https://gist.github.com/nikolasburk/eef24cd0d907b4a3e073723054cf847d

  • 0

    不要忘记使用 prisma deploy 部署数据模型 .

    你在这里有一个完整的工作示例:https://github.com/alan345/naperg

  • 0

    除了在CLI中发出的 prisma deploy 命令之外,不要忘记同时发出 prisma generate 命令,Prisma generate是为数据库中所有自动生成的CRUD操作创建javascript函数的额外步骤 .

    可能是你不希望这种额外的间接(或抽象)级别,尽管Prisma推荐它有很多原因(Prisma Architecture

    您还可以在 prisma.yml 文件中输入一个部署后挂钩,然后每次运行 prisma deploy 时自动运行 prisma generate 命令 . 让你少走一步就能记住 .

    // prisma.yml file
    
    datamodel: datamodel.prisma
    generate:
      - generator: javascript-client
        output: ../src/generated/prisma-client
    
    hooks:
      post-deploy:
        - prisma generate
    

    我没有谈到使用prisma客户端函数以及如何通过上下文访问它们,但非常有用和最新的教程非常值得做:How To GraphQL

相关问题