그저 내가 되었고
🌱Spring:: Unknown table 'SEQUENCES' in information_schema 에러 해결(spring.jpa.hibernate.ddl-auto=update 할 때) 본문
🌱Spring:: Unknown table 'SEQUENCES' in information_schema 에러 해결(spring.jpa.hibernate.ddl-auto=update 할 때)
hyuunii 2024. 6. 20. 12:21로컬 디비가 다 날아가서...
ddl-auto 옵션을 사용해야 할 상황이 왔다....
(여담인데, 디비 버전 업그레이드는 왜이렇게 매번 힘든것인가?;;;;; 아나
어제도 로컬 Mysql 버전 올리다가 에러나서 한시간 넘게 삽질하다가 결국 다 날리고 새로 깔았다.... 그랬더니 됨
ㅎr 이제 어지간하면 디비 버전은 건드리지 않을 것 같다.......🥵)
신중, 또 신중해야 하는 작업이므로;;
라고는 하지만 일단 로컬/라이브 서버 application 설정 파일도 분리되어있고ㅋ
암튼 별 걱정 없이 none에서 update로 바꾸고 돌렸다.
근데 에러를 뱉으면서 잘 안굴러가길래, '왜이래?' 하고 걍ㅋ create로 바꿔서 돌렸는데 이번엔 에러는 없고 걍... 먹통.
글서 update로 다시 바꾸고 에러를 확인했다.
일단 이정도인데.... WARN에서부터 'hibernate dialect에 뭔가 문제가 있군' 하는 감이 왔고,
아래 ERROR에서
2024-06-20T12:17:47.924+09:00 ERROR 19798 --- [ restartedMain] o.h.engine.jdbc.spi.SqlExceptionHelper : Unknown table 'SEQUENCES' in information_schema
2024-06-20T12:17:47.926+09:00 ERROR 19798 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.SQLGrammarException: Unable to build DatabaseInformation [Unknown table 'SEQUENCES' in information_schema] [n/a]
[ Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.SQLGrammarException ] 이 부분을 보는데 dialect 문제가 맞을거란 확신이 들었음.
기존에는 database 설정이
spring.jpa.database=sql-server
spring.jpa.hibernate.ddl-auto=update
이거 두 개만 있었음. (ddl-auto는 배포중인 서버에서는 그냥 none으로 해줍시다!!!! 이건 지금 DB 다 날아가서 이렇게 해둔거고 전 테스트DB도 none으로 해두고 그때그때 쿼리 날려서 해요!!!)
글서 내 mysql 버전에 맞게 dialect 설정도 명시를 해줘야겠다 싶어서
spring.jpa.database=sql-server
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
spring.jpa.hibernate.ddl-auto=update
중간에
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
이 부분을 추가해줌.
그랬더니 에러도 없고 테이블 생성도 전부 잘 된다...!!!!
근데 로그 조금 더 살펴봤더니
이제는 이렇게 WARN 로그가 바뀌어 나와서
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
이렇게 다시 바꾸고 돌렸는데
여전히 dialect 적어줄 필요가 없단다.
....?????????? 그거 안적으니까 에러 뱉었잖아
어이없지만 혹시 몰라서 다시 dialect 설정을 지우고 돌렸더니
ㅋ 역시나 그냥 이전과 똑같은 에러나면서 꺼짐ㅋ 환멸ㅋ
근데 어차피.... 이제 다시 none으로 바꿀거라 dialect 옵션이 필요 없는ㅋㅋ 상황이긴 함
암튼!!! 에러 해결 완료~
'개발 > Spring' 카테고리의 다른 글
🌱Spring:: like 오퍼레이터 Integer에 적용하기? 가능?(수정완료) (0) | 2024.02.02 |
---|---|
🌱Spring:: @RequestParam(required = false) (0) | 2023.10.14 |
🌱Spring:: Spring Security로 Spring Rest Docs에 로그인 붙이기 (0) | 2023.06.14 |
🌱Spring:: 'DI'란?(Dependency Injection, 의존성 주입) (0) | 2023.06.02 |
🌱Spring/LOMBOK:: @NOARGSCONSTRUCTOR , @ALLARGSCONSTRUCTOR , @REQUIREDARGSCONSTRUCTOR / DI (0) | 2023.05.11 |