local
MySQL — 개발자 개인 MySQL 서버, log4jdbc로 SQL 로깅
dictionary-api가 사용하는 데이터베이스 구성과 Flyway 마이그레이션 정책이다.
local
MySQL — 개발자 개인 MySQL 서버, log4jdbc로 SQL 로깅
test
H2(in-memory, MODE=MySQL) — 매번 새로 마이그레이션됨
prod
H2(in-memory) — 무료 호스팅 데모 배포용
docker
MySQL(컨테이너) — docker-compose가 띄우는 MySQL. 데이터는 named volume(mysql-data)에
남아 docker compose down으로는 지워지지 않고, down -v로만 초기화된다.
테이블은 t_ 접두어, 컬럼은 소문자 스네이크 케이스를 쓰고, 모든 테이블에 감사 컬럼 6개를 둔다. 전체 규칙은
테이블 생성 가이드, 감사 컬럼을 자동으로 채우는 코드는 MVC 코드 작성
가이드 참고.
spring-session-jdbc가 쓰는 SPRING_SESSION/SPRING_SESSION_ATTRIBUTES 테이블도 Flyway로 관리한다.
그래서 Spring Session의 자동 생성은 꺼둔다(spring.session.jdbc.initialize-schema: never).