해결된 질문
24.02.04 22:16 작성
·
247
0
강의 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
2024. 02. 05. 11:06
안녕하세요, 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는 데이터베이스를 자동으로 생성하고, 마이그레이션 파일을 데이터베이스에 적용하여 테이블과 스키마를 만들어냅니다.
2024. 02. 05. 13:43
깔끔하게 해결되었습니다. 감사합니다.~