Prisma 시간 - 테이블 만들기
5986 단어 ormtypescriptjavascriptdatabase
오늘은 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에 표시했습니다.
@id
)이며 자동 생성되어야 합니다( @default(autoincrement())
) @updatedAt
)으로 업데이트됩니다. @@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.
Reference
이 문제에 관하여(Prisma 시간 - 테이블 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/this-is-learning/its-prisma-time-create-table-3911텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)