Prisma 8

22.01.09 [prisma] relations

User과 Post의 관계로 생각하는 것이 가장 심플 User : Post = 1 : n @relation(fields:[relation을 정의할 테이블의 Key (Foreign Key)], references:[참조할 다른 테이블의 Primary Key]) Post : Comments = n : n 각자 스키마 모델에 Thing[] 이라고 추가하기 model User{ id Int @id @default(autoincrement()) posts Post[] } model Post{ id Int @id @default(autoincrement()) author User @relation(fields:[authorId], references:[id]) authorId Int comments Comment[..

Prisma 2022.01.10

22.01.09 select fields(정리중)

선택한 필드만 가져오기! prisma.find 쿼리에서만 사용 가능 필터 속성인 것 같다. prisma.update 쿼리에서 사용 가능한 필터 속성은 connect: relation 속성을 추가하는 것인가? connectOrCreate: 연결해서 데이터 추가하기? 참고문서링크: https://www.prisma.io/docs/concepts/components/prisma-client/select-fields Select fields (Concepts) This page explains how to select only a subset of a model's fields and/or include relations ("eager loading") in a Prisma Client query. www.pr..

Prisma 2022.01.09

22.01.09 [prisma] CRUD update query

update update a single record where에 해당하는 속성의 값을 하나만 업데이트해라 const updateUser = await prisma.user.update({ where: { email: '9708jjw@gmail.com', }, data: { name: 'jemerald', } }) updateMany update multiple records where에 해당하는 속성의 값이 포함되어있다면 모두 업데이트해라! const updateUsers = await prisma.user.updateMany({ where:{ email:{ contains:'prisma.io', } }, data:{ role:'ADMIN', } }) upsert update or create reco..

Prisma 2022.01.09

22.01.05 [prisma] Date.now()와 new Date()

schema.prisma에서 time에 대한 타입을 다음과 같이 정의하였다. model Schema { id Int time DateTime } 처음에는 prisma.table.create에서 현재 시간을 time에 저장할 때, Date.now()로 작성했는데 아래와 같은 에러가 발생하였다. "\nInvalid `prisma.oneDay.create()` invocation:\n\n{\n data: {\n coinId: 4,\n symbol: 'coinData.symbol',\n quote: 34,\n time: '1641370249008'\n ~~~~~~~~~~~~~~~\n }\n}\n\nArgument time: Got invalid value '1641370249008' on prisma.creat..

Prisma 2022.01.05

21.11.11 pagination

const followers = await client.use .findUnique({where: username}) .followers({ take: 5, skip: (page - 1) * 5 }) skip/take const results = await prisma.post.findMany({ skip: 3, take: 4 }) findMany를 사용해 posts들을 불러온다. 앞에서부터 3가지 post를 skip한다. //skip은 생략하는 데이터 갯수 skip된 post 직후의 4개의 post를 취한다. //take는 가져올 데이터 갯수 skip/take는 순서에 상관없이 페이지네이션이 이루어진다. - offset pagination: 맨 앞에서부터 몇 개 skip하고 몇 개 가져오기 const ..

Prisma 2021.11.12

21.11.02 prisma 설치하기

prisma 모듈 설치 npm i -g prisma prisma init 초기 설정 명령어를 입력하면 폴더에 schema.prisma 파일이 생기는데 DB주소는 .env 파일에서 DATABASE_URL로 설정하여 넣고 사용할 DB 툴은 postgresql, mysql, sqlite, sqlserver, mongodb 중에서 선택할 수 있다. 나는 mysql을 선택하였다. https://www.prisma.io/docs/concepts/database-connectors/mysql MySQL database connector (Reference) This page explains how Prisma can connect to a MySQL database using the MySQL database con..

Prisma 2021.11.04

21.11.01 prisma 설치

prisma 모듈 설치 npm i -g prisma prisma init 초기 설정 명령어를 입력하면 폴더에 schema.prisma 파일이 생기는데 DB주소는 .env 파일에서 DATABASE_URL로 설정하여 넣고 사용할 DB 툴은 postgresql, mysql, sqlite, sqlserver, mongodb 중에서 선택할 수 있다. 나는 mysql을 선택하였다. https://www.prisma.io/docs/concepts/database-connectors/mysql MySQL database connector (Reference) This page explains how Prisma can connect to a MySQL database using the MySQL database con..

Prisma 2021.11.01