H2 Compatibility Mode

태그
H2

노트

  • H2 설정시에 Compatibility Mode 라는 것이 따로 존재한다.
    • H2를 보통은 테스트시에 사용하는 인메모리 DB로 쓰는 경우가 많은데, 테스트가 아닌 런타임 환경에서 사용하는 원래 DB와 동일한 조건의 환경으로 맞추는 것이 가능하다.
    • 이렇게 하면 각 DB 특성에 맞는 기능이나 해당 DB에 맞게 지원하는 SQL 쿼리를 쓰는 것이 가능하다.
    • 기본은 REGULAR 모드이다.
  • 지원하는 모드 리스트 (이외는 아래 공식문서 참조)
    • STRICT (표준 SQL에 맞게 검사하고 싶으면)
      • dbc:h2:~/test;MODE=STRICT
    • LEGACY (H2 1.x 버전)
      • jdbc:h2:~/test;MODE=LEGACY
    • MySQL
      • jdbc:h2:~/test;MODE=MySQL;DATABASE_TO_LOWER=TRUE
    • PostgreSQL
      • jdbc:h2:~/test;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE;DEFAULT_NULL_ORDERING=HIGH
    • MariaDB
      • jdbc:h2:~/test;MODE=MariaDB;DATABASE_TO_LOWER=TRUE
    • Oracle
      • jdbc:h2:~/test;MODE=Oracle;DEFAULT_NULL_ORDERING=HIGH
    • MSSQL
      • jdbc:h2:~/test;MODE=MSSQLServer;DATABASE_TO_UPPER=FALSE;CASE_INSENSITIVE_IDENTIFIERS=TRUE

요약

📌
요약: 테스트 할 때 따로 설정하면 유용할듯?