기존에 myBucketListBook을 헤로쿠와 Postgresql을 이용하여 배포하고 있었다.
근데 pgadmin으로 데이터베이스 조회를 할 때 myBucketListBook안에 1172개나 되는 DB 테이블이 있었다.
단순히 SourceTree로 깃허브 레포에 푸쉬하면서 중복해서 계속 생성되었었나보다 하고 생각했었는데,
모각코 나온 분들께 여쭤보니 웬지 DB가 탈취당한 가능성도 있을 거라고 하셨다...ㅠ
듣고보니 그런듯! 싶어 어차피 DB테스트만 하고 있었던터라 삭제하고 다시 생성해서 연동해보자 싶었다.
(처음에 이것들을 사용할 때 블로깅도 못했으니까! 배포 다시 성공하고 테이블 문제 없으면 AWS로 바꿔서 배포해야지)
먼저, 헤로쿠에서 계정을 생성한다.
헤로쿠에 대해서와 회원가입 및 설치 등에 대해 잘 설명되어 있어 있는 아래의 레퍼런스를 참고해야겠다.
https://studium-anywhere.tistory.com/4
[Heroku(헤로쿠)] 시작하기 - 회원 가입과 Heroku CLI
헤로쿠(Heroku)를 선택한 이유 홈페이지를 만들기 위해서는 서버가 반드시 필요하다. 그렇다면 일반적으로 우리가 홈페이지를 만들기 위해서 선택할 수 있는 선택지가 3가지 존재한다. 1. 직접 서
studium-anywhere.tistory.com
우선 나는 헤로쿠 계정과 어플리케이션을 생성한 상태이고 아직 Postgresql은 설치하지 않은 상태이다.
헤로쿠 어플리케이션 목록 중 resources에서 Find more add-ons를 누른다.
헤로쿠에서 지원하는 각종 data 종류들이 뜨는데 이 중에서 postgresql을 선택한다.
Install Heroku Postgres를 누른다.
이제는 무료서비스는 없어지고 기본 MINI 5$부터 시작하는데, 가벼운 배포용이므로 MINI로 설정하고 기존에 만든 어플리케이션 (나의 경우에는 mybucketlistbook)을 연동한다.
이렇게 뜨면 설치 성공되었다는 것이다.
Settings-Database Credentials에 View Credentials를 누르면 해당 DB를 연동하기 위한 정보들이 뜬다.
여기서 Host 정보를 복사하여 yml에 붙여 넣어준다.
spring.datasource:
hikari:
maximum-pool-size: 4
url: jdbc:postgresql://1번/2번
username: ${POSTGRES_USER}
password: ${POSTGRES_PASSWORD}
driver-class-name: org.postgresql.Driver
위의 코드들 중에 url 부분에 jdbc:postgresql://을 명시하고 그 뒤에 host 정보를 붙여 넣는다. (1번)
그리고 헤로쿠의 Database를 복사하여 /와 그 정보를 붙여 넣는다. (2번)
아래의 username과 password도 채워넣는다.
나는 깃이그노어 된 줄 알고 요태 그냥 푸쉬했다가 이 글의 처음에서 설명한 것 처럼 탈취당할까봐 우려되어 로컬 환경변수로 설정하였다.
[인텔리제이 환경변수 설정하는 방법]
어플리케이션 구성 설정에서 실행하는 어플리케이션을 선택하고(나는 어플리케이션 이름이 DemoApplication이다.)
Build and run에서 Modifify options 중에 아래의 이미지처럼 Environment variables를 선택한다.
나는 위의 환경변수 이름을 각각 POSTGRES_USER와 POSTGRES_PASSWORD로 했기 때문에 아래와 같이 적어준다.
POSTGRES_USER=유저이름 POSTGRES_PASSWORD=비밀번호
주의할 점은 'POSTGES_USER=유저이름'을 적고 한칸 띄우고 'POSTGRES_PASSWORD=비밀번호'를 기재해야 한다는 것이다.
그러면 끝!!
'SQL' 카테고리의 다른 글
PostgreSQL과 MySQL 비교 (0) | 2023.02.20 |
---|---|
Mysql 데이터베이스 생성 및 계정 비밀번호 초기화하는 방법(MySQL Unknown database 에러 해결) (0) | 2022.11.18 |