NextJS 프로젝트에 prisma와 mysql을 사용하려고 했는데 터미널에 brew services start mysql
을 실행 시 mariadb와 충돌하면서 에러가 났습니다.
Error: Cannot install mysql because conflicting formulae are installed.
mariadb: because mysql, mariadb, and percona install the same binaries
Please `brew unlink mariadb` before continuing.
기억을 되돌아보니 mysql 대신 mariadb를 사용해보겠다고 설치했었습니다. 두 가지를 같이 사용하지는 못하는 것 같습니다. 그래서 mariadb를 삭제하고 (당장 mysql이 필요했기 때문에) mysql 서버를 실행시켰습니다.
brew uninstall mariadb
brew services start mysql
그다음 테이블 정보를 보기 위해 mysqlworkbench를 실행시켰습니다. 당연하게도 mysql 서버가 구동 중이어야 mysqlworkbench의 해당 port에 접속할 수 있었는데, 그것도 모르고 왜자꾸 연결이 안되나,, 한참 뒤에 깨달았습니다.
npx prisma init
루트에 prisma 폴더가 생성됩니다.
schema.prisma
파일에 provider를 mysql로 수정합니다.
.env
파일에 DATABASE_URL을 mysql로, 사용자 이름과 패스워드를 설정하고 (mysql 서버 실행 시 쓰는 비밀번호), localhost:3306으로 바꿔줍니다. 그 뒤 /table-name
본인이 쓰고 싶은 스키마 명을 지정합니다.
prisma.schema
파일에 적절한 model을 선언하고 npx prisma migrate dev
를 실행합니다. 그러면 해당 모델에 대한 테이블이 생성됩니다.