それはPrismaの時間-作成テーブル


ハローフォークス👋 そしてこのシリーズにようこそ.
今日はPrismaであなたの最初のテーブルを作成するには、準備ができていますか?では行きましょう💪
開始する前に、このシリーズで作成する予定のテーブルの種類を説明します.このシリーズのために、我々はブログを管理する単純なDBをつくっています.大きいと強いブログではなく、簡単なブログPrismaの主な概念に私たちの学習を集中する.ブログについて話しているので、明らかにポストテーブルから始めましょう.
開けるprisma/schema.prisma ファイルを追加し、次のスニペットを追加します.
model Post {
  id        Int @id @default(autoincrement())
  title     String
  content   String
  published Boolean  @default(false)
  createAt  DateTime @default(now())
  updatedAt DateTime @updatedAt

  @@map("posts")
}
すごい!しかし、あなたはこのコードを加えることをしましたか?🤔
このコードを記述すると、エンティティポストを記述し、Prismaに指示します.
  • ポストという実体が欲しい
  • このエンティティは
  • idプロパティは整数型です.これは、エンティティの主キーです@id ) 自動生成されなければなりません(@default(autoincrement()) )
  • titleプロパティはString型です
  • contentプロパティはstring型です
  • 公開されているプロパティはBoolean型で、既定値はfalseです
  • createatはDateTime型であり、新しいレコードが挿入されたとき、現在の日付時刻で設定されます
  • updatedatはdatetime型であり、レコードが更新されると、現在の日付時刻で更新されます.@updatedAt )
  • テーブル"post "を呼び出します.@@map("posts") )
  • まあ、何も非常に難しい、ちょうどいくつかの特別な構文を覚えています.
    あなたがPrismaのデータモデルに興味があるならば、私はあまり深く行きたくありませんhere ドキュメントへのリンク.
    Pnsmaのタイプと異なるデータベースサービスのネイティブのタイプの間のマッピングをよく知ることは重要です
    しかし、先に行きましょう、あなたは私があなたがそれを使いたいと思うあなたの実体を説明しました.
    TypeScriptコード内にこのエンティティを使用するには、その型定義を作成する必要があります.これを行うには、次のコードを実行します
    npx prisma generate
    
    このコマンドはあなたのパッケージを追加します.新しい依存@prisma/client , フォルダを作成する.prisma あなたのNodeRoundモジュールフォルダの内部.
    The @prisma/client 一方で、データベースに接続するクライアントが含まれているパッケージです.Prismaフォルダにはファイルが含まれていますindex.d.ts これは、ポストエンティティとこのエンティティで動作するすべての機能を説明します.
    では、このコレクションからデータを取得しようとしましょうposts そして、これを行うためにindex.ts srcフォルダ内で次のコードをコピーします.( src/index.ts )
    import { PrismaClient } from "@prisma/client";
    
    async function main() {
      const prisma = new PrismaClient();
      try {
        const posts = await prisma.post.findMany();
        console.log({ posts });
      } finally {
        prisma.$disconnect();
      }
    }
    
    main();
    
    この単純なコードでは、データベースへの接続を作成し、投稿コレクション内のポストを見つけ、その結果をコンソールに記録しました.
    このコードを実行するにはpackage.json ファイル.
    ...
      "scripts": {
        "dev": "ts-node ./src/index.ts"
      },
    ...
    
    このスクリプトでは、上記のコードを実行できます.
    OK、それは結果を表示する時間です.次のスクリプトを実行します.
    yarn dev
    

    OK、多分、それはあなたが予想した結果でありません😅
    端末で見ているエラーは、データベースがないためです.まだデータベースがない😃
    次の記事では、データベースを作成する方法を示します.このひどい間違いを解決します.
    私は、それが今日のすべてでありえたと思います!
    また会いましょう
    バイバイ👋
    この記事のコードは入手可能ですhere