Database/Prisma
-
[Prisma] 검색 기능 추가 해보기 (feat. searchParmas & next.js)Database/Prisma 2024. 2. 13. 18:39
1. 검색 창에 찾을려는 '제목' 을 입력 2. 제목 입력 성공시 router.push 를 통해 url에 ?title="제목" 을 넣어줌 => "/pathname?title="제목" const onSubmit = (data: FormProps) => { const { title } = data; router.push(`${pathname}?title=${title}`); }; 3. 나는 pathname에 접근하면 react-query를 통해 쿼리 키에 따라 데이터를 받아오도록 해놨었다. 4. useSearchParams를 통해 "title"을 get 해옴. 없다면 undefined. // /pathname component const searchParam = useSearchParams(); const ..
-
prisma client로 현재 data의 값을 수정하는 법Database/Prisma 2024. 2. 1. 15:42
prisma docs post의 like 값을 수정하고 싶다면(eg. +1 or -1) 유니크 키를 통해 데이터에 접근 후 post.like +1 과 같은 행동을 할 수 있다. 하지면 통신 측면에서 값을 조회 후 업데이트 하는 것은 두번 이상의 행위를 하는 것이므로 비효율. update의 increase / decrease를 통해 조회와 동시에 값을 수정 해보자. (cf. string 필드를 추가한다면 https://github.com/prisma/prisma/issues/15269 요거 참고 ) export async function PATCH( req: Request, { params }: { params: { postId: string } } ) { try { const { postId } = pa..
-
[Prisma] provider = "MongoDB" 일 때 모델의 id에 대해Database/Prisma 2023. 8. 3. 15:30
id String @id @default(auto()) @map("_id") @db.ObjectId 1. id 는 이 필드의 문자열(String)타입의 필드 (기본키로 사용 될 것) 2. @id: 이것은 Prisa 스키마에서 해당필드가 db의 기본 키로 사용됨을 지정하는 데코레이터 3. @default(auto()) : 이 데코레이터는 해당 필드가 새로운 레코드를 생성할 때, 자동으로 값을 생성하는 것을 의미함 4.@map("_id") : 이것은 prisma 스키마에서 해당 필드를 MongDB 내부에서 "_id"필드와 매핑하는 것을 의미함. MongoDB는 기본적으로 "_id"라는 이름의 필드를 사용해서 각 문서를 고유하게 식별함 Prisma에서는 이 "_id" 필드를 "id"라는 이름으로 사용하고자 할..
-
[Prisma] @id @default(auto()) @map("_id") @db.ObjectId 의미Database/Prisma 2023. 7. 15. 17:43
id String @id @default(auto()) @map("_id") @db.ObjectId 이 문장의 의미 위의 코드는 Prisma ORM에서 데이터베이스 모델을 정의하는 부분입니다. 각 필드의 의미는 다음과 같습니다: id: 데이터베이스에서 고유 식별자로 사용되는 필드입니다. String 타입으로 정의되어 있으며, @id 데코레이터를 통해 이 필드가 식별자임을 나타냅니다. @default(auto())는 이 필드의 기본값을 자동으로 생성하는 설정입니다. @map("_id"): 해당 필드를 데이터베이스에서 "_id"라는 이름으로 매핑합니다. 일부 데이터베이스에서는 기본적으로 "_id"라는 이름의 필드를 사용하는데, Prisma에서는 이를 명시적으로 매핑하기 위해 사용됩니다. @db.Object..
-
Prisma & PlanetScale 설치 및 연결 (yarn, next.js, mysql)Database/Prisma 2022. 12. 4. 18:52
Prisma 설치 vs code extension 에서 prisma 서리 yarn add prisma --dev yarn add @prisma/cli env 파일과 schema.prisma 파일 생성 npx prisma init 생성된 schema.prisma에 데이터 model을 작성해줌 datasource db 안에 provider 속성에 사용할 db 입력 (mysql 등등) env 안에 넣을 DATABASE_URL은 pscale을 통해 db에 연결하면 나오는 ip값을 넣어주면 됨(아래에 자세히 작성) generator client { provider = "prisma-client-js" } datasource db { provider = "mysql" url = env("DATABASE_URL") ..