【问题标题】:How do I add a column for uri link to external resource(cloudinary assets), to a graphQL - Apollo - Prisma Server for React Native App?如何将 uri 链接的列添加到外部资源(cloudinary 资产)、graphQL - Apollo - Prisma Server for React Native App?
【发布时间】:2020-09-11 03:02:45
【问题描述】:

我正在构建一个 React Native Mock Craft Beer 应用程序。

datamodel.prisma 是:

Type Beer {
  id: ID! @id
  name: String!
  abv: Int!
  body: String!
  description: String!
  postedBy: User
  votes: [Vote!]!
  createdAt: DateTime! @createdAt
  updatedAt: DateTime! @updatedAt  
}

schema.graphql 是:

type Beer {
  id: ID! 
  name: String!
  abv: Int!
  body: String!
  votes: [Vote!]!
  postedBy: User
  createdAt: DateTime!
  description: String!
}

我想添加一个新字段“img:”,它将包含我在 Cloudinary 中的图像资产的 uri。这将允许我在 React Native Carousel 组件中渲染精酿啤酒的图像。

这是我第一次使用 Prisma 服务器实现 graphQL API。来自 Rails 背景,我希望实现“迁移”。但是,在 Prisma 文档中,它指出迁移仍处于“实验”状态: https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-migrate#supported-operations

必须有更好的方法来添加字段。有什么建议?

【问题讨论】:

    标签: reactjs react-native graphql apollo prisma-graphql


    【解决方案1】:

    您可以为该字段提供默认值,一切顺利。例如:你想添加一个img 字段,这样做:

    Type Beer {
      img: String!  @default(value: "")
    }
    

    【讨论】:

    • 这只是为了 data.model 还是我还必须手动将此代码添加到 graphQL Schema 文件中?并更新解析器?
    • 如果你愿意。这取决于您是否需要该图像用于即将到来的文档(记录)
    【解决方案2】:

    将 img 字段添加到架构中后,您还需要更新数据库,在终端中执行以下命令

     $prisma deploy
    

    【讨论】:

    • 我在哪个文件夹中运行“部署”脚本?当我尝试从“服务器”文件夹进行部署时,我目前正在收到“-bash: deploy: command not found”
    • 试试 prisma deploy
    猜你喜欢
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多