JiwonKKang/Schema-validation: missing table [name] 에러

Created Thu, 10 Aug 2023 19:02:31 +0900 Modified Sun, 13 Aug 2023 02:41:53 +0900

Schema-validation: missing table [name] 에러

문제현상

분명 테이블이 있는데 없다고 한다. ddl-auto 를 validate 옵션으로 설정해놓아서 schema validation 이 진행된다. 그런데

.... Schema-validation: missing table [direction]

같은 에러가 발생한다.

컨테이너에 접속해 확인해보았지만 분명 direction 테이블은 존재했다.


원인

  • MySQL 기본 설정으로 테이블을 대소문자 구분하여 검사
  • DB이름이 소문자인데, hibernate가 자꾸 대문자로 바꿔서 조회
  • 그 이유는 Hibernate가 MySQL 의 @@lower_case_table_names 의 설정을 따라가기 때문이다

문제해결

mysql의 설정파일(/etc/mysql/conf.d)을 수정)

나의 경우 Volume 옵션을 통해 컨테이너에 마운트했기떄문에 프로젝트 폴더의 마운트로 설정한 cnf파일 수정

[mysqld] lower_case_table_names = 1