H2 데이터베이스에 native query 적용 문제
giantim edited this page Aug 11, 2020
·
1 revision
Hashtagmap 프로젝트에서 가게 정보를 수집해 데이터베이스에 저장할 때 데이터베이스에 이미 있는 가게의 정보는 새로 저장이 아닌 업데이트 하는 기능이 필요하다.
우리는 MariaDB를 사용하기 때문에 현재 이 기능을 MySql의 insert into ~ on duplicate key update ~
쿼리를 이용해서 구현하였다.
해당 native query의 문제점은 MySql에 종속적인 쿼리문이라는 것이다.
동일한 쿼리문이 만약 Oracle 데이터베이스
에 사용한다면 merge into
로 바뀔 것이고 PostgreSQL 데이터베이스
에 사용한다면 insert into ~ on conflict ~ do update
쿼리로 바뀔 것이다.
H2 데이터베이스를 이용해 로컬 환경에서 테스트를 할 때 우리가 작성한 MySql용 쿼리를 H2 데이터베이스는 이해하지 못한다.
H2 데이터베이스의 mode를 MySql로 지정해서 MySql의 종속적인 쿼리문을 이해하도록 설정해준다.
우리 프로젝트에 적용할 데이터베이스의 설정은 hashtagmap-secret/core/application-db.yml
에서 바꾸어준다.
- Jenkins CI/CD 적용하기
- Nginx 적용하기
- docker로 jenkins설치 시 플러그인 설치오류 해결방법
- 데이터베이스 마이그레이션
- Logback, Error 로그 Slack 알림 받기
- Jacoco 적용하기
- SonarQube 적용하기