오늘은 어제했던 todo list 만들기를 다시 복습하고 후반엔 db를 연결하여 express로 주고 받은 데이터를 db에 넣는 작업까지 하였다. 이 과정에서
prisma
와planet scale
을 사용하였다.
우선
prisma
는 javascript나 typescript를 사용하여 db와 상호작용 할 수 있는 ORM 프레임워크이다.
ORM
이란Object Relational Mapping
의 줄임말로 객체와 데이터베이스의 관계를 매핑해주는 도구이다.
쉽게 말해 프로그래밍 언어를 사용하여 데이터베이스와 상호작용을 할 수 있게 해준다.
또Sequelize
라는ORM
도 있다.
prisma
의 스키마(Schema)파일에서 모델을 정의하고 구성하는데, 다양한Schema annotations
들이 있다.
Schema annotation
은 모델의 필드, 데이터베이스의 테이블과의 관계, 생성 및 수정 시간 등을 정의하는 데 사용된다.
아래 적어놓은 것들은 자주 사용되는Schema annotations
이다.
@id
: 해당 필드가 데이터베이스 테이블의 기본 키(primary key) 역할을 함을 나타냅니다.
@unique
: 해당 필드의 값이 고유해야 함을 나타냅니다.
@default(value)
: 해당 필드의 기본값을 설정합니다.
@createdAt
: 해당 필드가 생성 시간을 나타냄을 나타냅니다.
@updatedAt
: 해당 필드가 수정 시간을 나타냄을 나타냅니다.
@relation(name, fields)
: Prisma 모델 간의 관계를 정의합니다.
PlanetScale
이란MySQL
기반의 데이터베이스 클라우드 서비스이다.
데이터베이스 세팅 없이 CLI 명령어로 쉽게 연결할 수 있는 특징이 있다.
또한 Branch로 나누어 개발/운영 모드의 전환도 용이하다.