데이터베이스는 프로젝트 때 사용했던 것 과 동일하게 h2를 사용할 것이다.
생성된 mv.db파일을 사용할 것인가, 어플리케이션이 작동될 때마다 h2데이터베이스를 생성할 것인가. 고려해봤을 때,
각각의 장단점이 있다.
매번 새 데이터를 테스트하고 싶을때
프로젝트를 빠르게 실행하고 초기 데이터를 넣어 테스트할 때
운영 환경이 아닌 개발환경에서만 사용할때 -> 스프링 시작 시 h2 데이터베이스가 생성되도록 설정.
기존 데이터(mv.db)를 유지하면서 개발을 이어가야 할 때
프로젝트 재시작 후에도 데이터가 유지되어야 할 때
운영환경과 비슷한 방식으로 개발하고 싶을 때 -> 기존 데이터베이스를 사용. mv.db.
프로젝트 때에도 어플리케이션 생성 시 db파일이 생성되었던 것 같다. 첫번째 방법으로 진행하자.
개발시엔 어플리케이션 실행시에만 접근이 가능한 embedded 타입으로
첫번째 방법으로 진행하려면 application.yml 파일에 설정값을 입력하여야 한다.
src/main/resources/application.yml
spring:
datasource:
url: jdbc:h2:mem:testdb
driver-class-name: org.h2.Driver
username: sa
password:
jpa:
show-sql: true
database-platform: org.hibernate.dialect.H2Dialect
hibernate:
ddl-auto: update # 애플리케이션 실행 시 자동으로 테이블 업데이트
h2:
console:
enabled: true
path: /h2-console
이제 서버 실행 후 브라우저 url에 localhost:8080/h2-console 에 접속 후 url 복붙하면 정상적으로 데이터베이스를 볼 수 있다.
테스트시엔 테스트 실행시 db가 생성되고 테스트가 끝나면 db가 사라지는 mem 방식으로 데이터베이스를 구분하였다.