인프런 커뮤니티 질문&답변

busanlegend님의 프로필 이미지
busanlegend

작성한 질문수

Next.js 풀스택 Github Issue 서비스 만들기

강의 05 디비...질문드려요

해결된 질문

작성

·

248

0

q01.PNG강의 05 에서
npx prisma format
npx migrate 를 하는데, 디비명 에러가나는데요...

cmd로 mysql 에서 디비를 생성하려니 하이픈 오류로 나옵니다...

.env 설정

 

DATABASE_URL="mysql://root:12341234@@localhost:3306/issue-management"

윈도우 mysql에 디비를 만들지않은 상태에서도 마이그레이션이 되는건가요?

답변 2

0

저는 비밀번호 특수문자때문에 문제가 있었는데 혹시나 다른분들 중에 패스워드에 특수문자가 문제라면, 특수문자 대신에 인코딩된 문자열로 작성해주면 됩니다! :)
ex) '!' -> %21, '#' -> %23

https://developer.mozilla.org/ko/docs/Glossary/Percent-encoding

0

Su님의 프로필 이미지
Su
지식공유자

안녕하세요, Busan님. 문의해 주셔서 감사합니다. 먼저, 문제를 해결할 수 있는 몇 가지 방법을 말씀드리겠습니다. 개인적으로 첫 번째 방법이 가장 효과적일 것으로 생각됩니다. 참고해주세요. 감사합니다! 오늘도 좋은 하루 보내세요 😄😄

 

Prisma Migrate를 사용하여 마이그레이션을 진행할 때 데이터베이스가 미리 생성되어 있지 않아도 Prisma는 설정된 데이터베이스 URL에 따라 데이터베이스를 자동으로 생성할 수 있습니다. 하지만 이것은 데이터베이스 사용자가 데이터베이스를 생성할 수 있는 권한이 있어야 가능합니다.

.env 파일에 명시된 DATABASE_URL에 대해 몇 가지 확인해야 할 사항이 있습니다:

 

1. .env 파일의 DATABASE_URL에서 두 개의 @가 있는 것 같습니다. root:12341234@localhost:3306/issue-management 형식이 올바른 형식입니다.

2. 데이터베이스 이름에 하이픈(`-`)이 포함된 경우, 명령줄에서 MySQL 데이터베이스를 생성할 때 이름을 백틱(`)으로 감싸야 합니다. 하지만 .env 파일 내에서는 백틱을 사용하지 않아도 됩니다.

3. 윈도우에서 MySQL을 사용할 때는 때때로 명령줄의 경로에서 발생하는 문제로 인해 오류가 발생할 수 있습니다. 이를 해결하기 위해 MySQL 클라이언트를 사용하여 직접 데이터베이스를 생성할 수 있습니다.

4. 데이터베이스 사용자에게 적절한 권한이 없는 경우, Prisma Migrate는 데이터베이스를 생성할 수 없습니다.

이렇게 설정 후에 npx prisma migrate를 실행하면, Prisma는 데이터베이스를 자동으로 생성하고, 마이그레이션 파일을 데이터베이스에 적용하여 테이블과 스키마를 만들어냅니다.

busanlegend님의 프로필 이미지
busanlegend
질문자

깔끔하게 해결되었습니다. 감사합니다.~

busanlegend님의 프로필 이미지
busanlegend

작성한 질문수

질문하기