작성
·
374
1
안녕하세요 강의 잘 듣고 있습니다. 강의를 듣다 질문이 있어서 글 남깁니다!
profiles 설정을 할때 인텔리제이 무료 버전이라 add vm options 를 -Dspring.profiles.active=local 로 설정하면 local로 설정할 수 있다고해서 이런식으로 일단 profiles를 local로 설정했는데 홈페이지 실행 후 접속하니 mysql에서의 정보가 그대로 남아있습니다. local설정을 잘 했는데 h2에 연결이 안되는거 같은데 원인이 무었일까요? 그리고 h2사이트에 접속해 강의 내용대로 connect를 하니 접속이 안됩니다...
답변 1
0
안녕하세요, 오늘내일님!!! 🙏 질문 주셔서 감사드립니다!!
우선 한 가지 확인해야 할게 있는데요! local
설정까지는 잘 되신걸까요?!! 예를 들어,
IntelliJ Community 버전에서 VM 옵션으로 다음과 같이 넣어주면,
서버 실행 로그에
The following 1 profile is active: "local"
이라고 나오게 됩니다!
여기까지 확인이 되셨다면, local
로 잘 실행이 된거에요!!!!
좋습니다~ 그런데~ local
로 실행을 했는데도 MySQL 정보가 나오는거라면 application.yml
을 확인해볼 필요가 있습니다!
local
프로파일로 실행이 되었을 때 h2
가 잘 설정되었는지, 구분선은 (---
) 잘 들어 있는지 등을 확인해야 해요!
현재 MySQL 데이터가 나오는 것과 H2 console이 들어가지 않은 것은 공통된 원인으로써, 서버가 H2를 사용하고 있지 않기 때문입니다.
혹시 몰라 전체 application.yml
내용도 드립니다!! (복붙 해보시는 것도 좋을 것 같아요~~!!)
spring:
config:
activate:
on-profile: local
datasource:
url: "jdbc:h2:mem:library;MODE=MYSQL;NON_KEYWORDS=USER"
username: "sa"
password: ""
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
show_sql: true
format_sql: true
dialect: org.hibernate.dialect.H2Dialect
h2:
console:
enabled: true
path: /h2-console
---
spring:
config:
activate:
on-profile: dev
datasource:
url: "jdbc:mysql://localhost/library"
username: "root"
password: "" # 필요한 비밀번호
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
ddl-auto: none
properties:
hibernate:
show_sql: true
format_sql: true
dialect: org.hibernate.dialect.MySQL8Dialect
꼭 해결되셨으면 좋겠습니다! 감사합니다!!!! 🙏🙏