리믹스에 Prisma 추가

4575 단어 databasereact
아시다시피 저는 Prisma 의 열렬한 팬이며 Remix 프로젝트를 설정할 때 인디 스택을 선택하기 때문에 이미 Prisma와 함께 제공됩니다.

Remix에서 Postgres 설정



이미 Prisma가 설치된 상태로 제공되므로 prisma/schema.prisma 파일에서 스키마를 찾을 수 있습니다.

이 안에 가장 기본적인 포스트 설정을 추가해 보겠습니다.
여기 있는 동안 데이터 소스를 Postgres 로 변경합니다.

datasource db {
  provider = "postgres"
  url      = env("DATABASE_URL")
}

model Post {
  slug     String @id
  title    String
  content  String

  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
}


이제 .env 파일과 Prisma 데이터베이스 인스턴스에 대한 올바른 DATABASE_URL 파일을 엽니다.

나를 위해 그것은 다음과 같습니다

DATABASE_URL = 'postgresql://USER:[email protected]:5432/YOUR_DB';


설정이 완료되면 다음 명령을 실행하여 데이터베이스를 생성합니다.

npx prisma db push


데이터베이스 클라이언트에서 데이터베이스를 채우고 볼 수 있어야 합니다.



모델을 Postgres로 변경



지금까지 모델은 로컬에서 설정한 일반 JSON 파일을 사용했습니다.
Postgres 데이터베이스에서 로드되도록 변경해 보겠습니다.
app/models/post.server.ts 파일을 열고 다음과 같이 수정합니다.

import { prisma } from '~/db.server';

export async function getPosts() {
  return prisma.post.findMany();
}

export async function getPost(slug: string) {
  return prisma.post.findUnique({ where: { slug } });
}


이렇게 하면 더 깨끗해집니다.

Note: Go ahead and add a post to your database. Either use the Prisma seeder or manually add one.



이제 앱을 실행할 때 다른 변경 사항을 적용할 필요가 없으며 단순히 이 새로운 데이터 소스를 반영합니다!

천상의 만남: Remix ❤️ Prisma.

완성된 코드를 보려면 GitHub에서 호스팅됩니다.

읽어주셔서 감사합니다. 연결합시다!



제 블로그를 읽어주셔서 감사합니다. 내 이메일 뉴스레터를 구독하고 Facebook에 연결하거나

좋은 웹페이지 즐겨찾기