

당시 나의 상황은
local에서 db를 연결하여 개발 완료 -> local db를 aws rds로 변경 했던 상황이었다
회원가입 및 로그인은 잘 되는데, 갑자기 위젯 관련된 기능을 실행시키면 오류가 떴다
Table doesn't exist.............
바로 DB를 켜서 테이블을 확인해보니...? 멀쩡하게 있다
혹시 내가 오타를 썼나? 했는데 오타도 없다......
해결법
SQL를 배울 때, SQL은 대소문자를 구분하지 않는다고 배웠다
하지만....구분한다...........linux에서는........... (window에서는 구분하지 않는다고 한다)
근데 mac에서 작업한 나는 왜 이제서야 알게되었나..?
=> 우선 이 설정은 lower_case_table_names 변수의 값부터 알아보는 것이 좋겠다
- 0 (linux 기본값) : 대소문자 구분 O
- 1 (window 기본값) : 대소문자 구분 X, 모두 소문자로 인식
- 2 (mac 기본값) : 대소문자 구분하여 저장. 하지만 비교시 소문자로 비교
그랬다....mac에서도 소문자로 비교하기에 몰랐었다.....
하지만 rds는 linux기반이었기에 대소문자를 구분하고 있었고, 당장 lower_case_table_names를 1로 바꾸었다
마치 중학교때 √-1가 없다는 것을 배우고, 고등학교때 가서 허수라는 개념을 알았을 때의 충격과도 같달까...
lower_case_table_names이라는 설정이 있던것도, 운영체제에 따라 다르다는 것도 이번 기회에 알게 된 사실이었다
'Project > Snacks' 카테고리의 다른 글
[Snacks 개발 일기] #13 ec2에서 빌드 안될 때, swap 메모리 설정하여 해결하기 (0) | 2023.01.20 |
---|---|
[Snacks 개발 일기] #12 docker compose 시 redis 연결 안될 때 해결하기 (0) | 2023.01.20 |
[Snacks 개발 일기] #10 incorrect string value..... 에러 해결하기 (0) | 2023.01.03 |
[Snacks 개발 일기] #9 Spring Security에서 cors 에러 해결하기 (0) | 2022.12.23 |
[Snacks 개발 일기] #8 구글 로그인과 같은 이메일로 자체 로그인할 때 안되는 현상 해결하기 (0) | 2022.12.23 |