데이터베이스는 눈에 보이지 않아 더 어렵게 느껴질 때가 많다. 개인적으로는 리액트나 익스프레스로 코딩하는 일에 더 익숙해 비교적 신경을 덜 쓴 적도 많았다. 이번 프로젝트에서 거둔 큰 수확 중의 하나는 이런 나의 부족한 태도에 대해 큰 경각심을 느끼게 됐다는 점이다. 여전히 어렵지만 너무나 중요하고, 결과물과 직결되어 늘 신중해야하는 것이 데이터베이스다.
이번 글에서는 팀 프로젝트와 같은 협업 시의 데이터베이스 세팅에 대해 정리해보려한다. 단, 아래 순서는 다른 팀원이 이미 만들어둔 데이터베이스를 pull 받아올 때의 상황이다.
config.js 파일에서 env로 설정해둬야 하는 정보들을 확인한다. 그리고 최상위 디렉토리에 .env 파일을 만들어 해당 내용을 적어둔다. 보통 username(여기서는 나의 mysql 이름을 뜻한다), password, database, host 등이다.
$ mysql -u root -p
그리고 비밀번호 입력
접속 후
$ CREATE DATABASE [데이터베이스 이름];
이때의 이름은 임의로 작성해도 좋고 팀원들과 통일시켜도 좋다.
잘 만들었는지 확인
$ SHOW DATABASES;
2번의 데이터베이스가 만들어져있다면
$ USE [데이터베이스 이름];
다른 터미널 창을 통해 마이그레이션
$ npx sequelize-cli db:migrate
앞서 팀원이 만들어둔 모델 정보가 나의 데이터베이스에 들어온다. 확인했다면 이어서
$ npx sequelize-cli db:seed:all
씨드 데이터까지 잘 받아졌다면 성공!