[PostgreSQL] 개발용 로컬 데이터베이스 분리하기 (with. DataGrip)

moongyu·2022년 1월 19일
0

PostgreSQL

목록 보기
1/1
post-thumbnail

✅ 로컬 데이터베이스의 필요성

1. 테스트용 데이터

개발을 하다보면 데이터베이스에 테스트용 데이터를 넣어야하는 경우가 많이 발생한다. 이러한 경우 배포 전이라면 상관 없을 수도 있지만, 프로젝트를 배포한 후에는 배포된 서버와 연결된 데이터베이스에 쓸모없는 데이터를 함부로 넣을 수 없다.

2. 데이터베이스 스키마 변동 시 안정성 확보

데이터베이스의 스키마 구조가 변경된 경우, 바로 실행중인 배포용 데이터베이스에 반영하는 것은 매우 위험하다. 로컬 데이터베이스에서 충분한 테스트를 거친 후 배포용 데이터베이스에 수정 사항을 반영해주어야 한다.

위와 같은 이유 때문에 로컬 데이터베이스를 사용할 필요가 있다.



✅ 로컬 데이터베이스 연결 방법

1. PostgreSQL 설치하기

  • 버전에 맞는 PostgreSQL을 다운로드 및 설치한다.
    PostgreSQL 설치하러 가기!

  • SQL Shell에서 설치가 잘 되었는지 확인한다.

    설치 시 기본 설정을 사용한 경우, Enter를 4번 친 후 사용자 암호를 입력해준다. 그 후 SELECT version(); 이라는 명령어를 입력하여 위 사진과 같은 결과가 나온다면 잘 설치된 것이다.

2. DataGrip에 연결하기

  • 로컬 데이터베이스를 연결해준다. 설치 시 모두 기본 설정으로 선택한 경우, 원하는 Name을 입력하고, Password만 알맞게 입력해주면 된다.
  • 기존의 데이터베이스에서 작업을 하고 있던 경우, 테이블에서 우클릭 → SQL Scripts → SQL Generator 를 눌러주면, 해당 테이블을 생성하기 위한 SQL문을 자동으로 추출해준다. 이 SQL 문을 새롭게 생성한 로컬 데이터베이스 콘솔에서 실행해주면 편하게 테이블을 옮길 수 있다.

  • 만약 INSERT한 데이터도 한 번에 가져오고 싶다면 테이블에서 우클릭 → Export Data to File 을 누른 후, Extractor에서 SQL Inserts를 선택한 뒤 원하는 경로에 Export 해주면 된다. 마찬가지로 해당 파일의 SQL 문을 로컬 데이터베이스 콘솔에서 실행시켜주면 된다.



3. 서버에 연결하기

  • 서버에서는 .env 파일에 로컬 데이터베이스 연동을 위한 환경변수를 따로 분리해주었다. DEV_DB가 그에 해당하며, 역시 모두 기본 설정인 경우 비밀번호만 알맞게 입력해주면 된다.


✅ 결과

배포용 데이터베이스와 테스트용 데이터베이스를 분리했기 때문에, 배포 시 불필요한 데이터를 일일이 삭제할 필요가 없다. 또한 실제 유저가 서비스를 이용할 때 유의미한 데이터가 테스트용 데이터와 섞일 우려가 없다. 그리고 데이터베이스 스키마 변경 등 신중한 작업이 필요할 때, 로컬 데이터베이스에서 미리 충분한 테스트가 가능하기 때문에 중요 데이터가 손실될 위험성이 확연히 줄어든다.



💎PostgreSQL Extension

VS Code Extensions에서 PostgreSQL 설치 시 VS Code 내에서 바로 테이블 확인이 가능하다.


References

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

profile
개발 블로그 (●'◡'●)

0개의 댓글