<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## Prisma `Prisma` 將您的數據庫轉換為 `GraphQL API`,并允許將 `GraphQL` 用作所有數據庫的通用查詢語言(譯者注:替代 orm )。您可以直接使用 `GraphQL` 查詢數據庫,而不是編寫 `SQL` 或使用 `NoSQL API`。在本章中,我們不會詳細介紹 `Prisma`,因此請訪問他們的網站,了解可用的[功能](https://www.prisma.io/features/)。 > 注意: 在本文中,您將學習如何集成 `Prisma` 到 `Nest` 框架中。我們假設您已經熟悉 `GraphQL` 概念和 `@nestjs/graphql` 模塊。 ### 依賴 首先,我們需要安裝所需的包: ```bash $ npm install --save prisma-binding ``` ### 設置 Prisma 在使用 `Prisma` 時,您可以使用自己的實例或使用 [Prisma Cloud](https://www.prisma.io/cloud/) 。在本簡介中,我們將使用 `Prisma` 提供的演示服務器。 1. 安裝 Prisma CLI `npm install -g prisma` 2. 創建新服務 `prisma init` , 選擇演示服務器并按照說明操作。 3. 部署您的服務 `prisma deploy` 如果您發現自己遇到麻煩,請跳轉到[「快速入門」](https://www.prisma.io/docs/quickstart/) 部分以獲取更多詳細信息。最終,您應該在項目目錄中看到兩個新文件, `prisma.yaml` 配置文件: ```yaml endpoint: https://us1.prisma.sh/nest-f6ec12/prisma/dev datamodel: datamodel.graphql ``` 并自動創建數據模型, `datamodel.graphql` 。 ```graphql type User { id: ID! @unique name: String! } ``` > 注意: 在實際應用程序中,您將創建更復雜的數據模型。有關Prisma中數據建模的更多信息,請單擊[此處](https://www.prisma.io/features/data-modeling/)。 輸入: `prisma playground` 您可以打開 `Prisma GraphQL API` 控制臺。 ### 創建客戶端 有幾種方法可以集成 `GraphQL API`。這里我們將使用 [GraphQL CLI](https://www.npmjs.com/package/graphql-cli),這是一個用于常見 `GraphQL` 開發工作流的命令行工具。要安裝 `GraphQL CLI`,請使用以下命令: ```bash $ npm install -g graphql-cli ``` 接下來,在 `Nest` 應用程序的根目錄中創建 `.graphqlconfig` : ```bash touch .graphqlconfig.yml ``` 將以下內容放入其中: ```yaml projects: database: schemaPath: src/prisma/prisma-types.graphql extensions: endpoints: default: https://us1.prisma.sh/nest-f6ec12/prisma/dev codegen: - generator: prisma-binding language: typescript output: binding: src/prisma/prisma.binding.ts ``` 要將 `Prisma GraphQL` 架構下載到 `prisma/prisma-types.graphql` 并在 `prisma/prisma.binding.graphql` 下創建 `Prisma` 客戶端,請在終端中運行以下命令: ```bash $ graphql get-schema --project database $ graphql codegen --project database ``` ### 集成 現在,讓我們為 `Prisma` 集成創建一個模塊。 > prisma.service.ts ```typescript import { Injectable } from '@nestjs/common'; import { Prisma } from './prisma.binding'; @Injectable() export class PrismaService extends Prisma { constructor() { super({ endpoint: 'https://us1.prisma.sh/nest-f6ec12/prisma/dev', debug: false, }); } } ``` 一旦 `PrismaService` 準備就緒,我們需要創建一個對應模塊。 > prisma.module ```typescript import { Module } from '@nestjs/common'; import { PrismaService } from './prisma.service'; @Module({ providers: [PrismaService], exports: [PrismaService], }) export class PrismaModule {} ``` > 提示: 要立即創建新模塊和服務,我們可以使用 [Nest CLI](/8/cli.md)。創建 `PrismaModule` 類型 `nest g module prisma` 和服務 `nest g service prisma/prisma` ### 用法 若要使用新的服務,我們要 import `PrismaModule`,并注入 `PrismaService` 到 `UsersResolver`。 > users.module.ts ```typescript import { Module } from '@nestjs/common'; import { UsersResolver } from './users.resolver'; import { PrismaModule } from '../prisma/prisma.module'; @Module({ imports: [PrismaModule], providers: [UsersResolver], }) export class UsersModule {} ``` 導入 `PrismaModule` 可以在 `UsersModule` 上下文中使用導出的 `PrismaService` 。 > users.resolver.ts ```typescript import { Query, Resolver, Args, Info } from '@nestjs/graphql'; import { PrismaService } from '../prisma/prisma.service'; import { User } from '../graphql.schema'; @Resolver() export class UsersResolver { constructor(private readonly prisma: PrismaService) {} @Query('users') async getUsers(@Args() args, @Info() info): Promise<User[]> { return await this.prisma.query.users(args, info); } } ``` ### 例子 [這里](https://github.com/nestjs/nest/tree/master/sample/22-graphql-prisma)有一個稍微修改過的示例。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看