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")
}


엄청난! 그런데 이 코드를 추가한 것은 무엇입니까? 🤔
이 코드를 작성하면 엔티티 Post를 설명하고 Prisma에 표시했습니다.
  • Post
  • 라는 엔티티를 원합니다.
  • 이 개체에는 6개의 속성이 있습니다
  • .
  • id 속성은 정수 유형이고 내 엔티티의 기본 키( @id )이며 자동 생성되어야 합니다( @default(autoincrement()) )
  • 제목 속성이 문자열 유형입니다
  • .
  • 콘텐츠 속성이 문자열 유형입니다
  • .
  • 게시된 속성이 부울 유형이고 기본값이 false입니다
  • .
  • createAt는 DateTime 유형이며 새 레코드가 삽입되면 현재 날짜 시간으로 설정합니다
  • .
  • updatedAt는 DateTime 유형이며 레코드가 업데이트되면 현재 날짜 시간( @updatedAt )으로 업데이트됩니다.
  • "posts"테이블 호출( @@map("posts") )

  • 글쎄요, 그렇게 어렵지는 않습니다. 기억해야 할 특별한 구문만 있으면 됩니다.
    너무 깊게 들어가고 싶지는 않지만 Prisma의 데이터 모델here에 관심이 있는 경우 문서 링크를 참조하십시오.
    주의 서로 다른 데이터베이스 서비스의 Prisma 유형과 기본 유형 간의 매핑을 잘 아는 것이 중요합니다.

    하지만 계속 진행하겠습니다. 당신은 당신의 개체를 설명했습니다. 이제 당신이 그것을 사용하길 원한다고 생각합니다.
    TypeScript 코드 내에서 이 엔터티를 사용하려면 해당 TypeScript 정의를 만들어야 합니다. 이렇게 하려면 다음 코드를 실행합니다.

    npx prisma generate
    


    이 명령은 package.json에 새 종속성@prisma/client을 추가하고 node_modules 폴더 내에 폴더.prisma를 만듭니다.@prisma/client는 데이터베이스에 연결하기 위한 클라이언트를 포함하는 패키지인 반면, .prisma 폴더는 게시물 엔티티 및 이 엔티티와 함께 ​​작동할 수 있는 모든 기능을 설명하는 파일index.d.ts을 포함합니다.
    자, 이제 이 posts 컬렉션에서 데이터를 가져오고 이를 위해 src 폴더 내에 index.ts라는 파일을 만들고 다음 코드를 복사해 보겠습니다. ( 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"
      },
    ...
    


    이 스크립트를 사용하면 위에 작성된 코드를 실행할 수 있습니다.
    자, 결과를 보여줄 시간입니다. 터미널에서 다음 스크립트를 실행합니다.

    yarn dev
    



    네, 예상한 결과가 아닐 수도 있지만 뭔가 사라졌습니다 😅
    터미널에 표시되는 오류는 데이터베이스가 없기 때문에 나타납니다.... 아직 데이터베이스가 없습니다 😃
    다음 기사에서는 데이터베이스를 생성하는 방법을 보여드리고 이 끔찍한 실수를 해결할 것을 약속합니다!

    오늘은 여기까지만 해도 될 것 같아요!
    곧 보자 얘들아
    바이바이👋

    이 문서의 코드를 사용할 수 있습니다here.

    좋은 웹페이지 즐겨찾기