npm install prisma --save-dev
npm install @prisma/client
npx prisma init
초기화할 때 prisma라는 폴더가 생성된다.
schema.prisma 내부에는
generator client {
provider = "prisma-client"
output = "../app/generated/prisma"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
이런 게 있는데 절대 url에 직접 쓰지 않도록 한다. 그대로 쓰면 그냥 나 db 줄게 하는 짓이다.
.env 파일이 생성됐을 건데 수정하면 되겠다.
postgreSQL이 default인 거 같은데 다른 DB도 물론 가능하다.
mysql 자리에 다른 DB를 넣어도 된다.
DATABASE_URL="mysql://USER:PASSWORD@localhost:3306/DBNAME"
USER:PASSWORD에서 실험용이라면 (SQL에서 지정한 유저 이름, 보통 root):(SQL에서 지정한 비밀번호)@localhost:(SQL 포트 번호)/(DB 이름)을 지정하면 되겠다.
물론 MySQL은 포트 기본값이 3306인데 아니면 직접 찾아봐야 한다.
그러고
npx prisma generate
이걸 쳐 준다.
만약에 prisma.config.ts가 있다면 그 파일을 삭제해 준다. 안 그러면 오류가 뜬다.
그러면 연결이 됐을 것이다.
npx prisma db push
npx prisma generate
schema.prisma 파일에서 구조를 수정 후에 적용하는 작업이라고 보면 된다.
딱히 마이그레이션이 필요 없다면 이 둘만 써도 무관하다.
만약에 불러오고 싶다면
npx prisma db pull
하면 되겠다.
npx prisma migrate dev --name (migrate 이름)
migration 파일과 함께 적용되는데, 이름을 중복해서 쓰면 오류가 난다.
굳이 필요 없다면 npx prisma db push를 해도 되지만 이전 db 구조를 보고 싶을 때 쓰면 된다.