• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

회원가입 음력 날짜

23.07.18 10:22 작성 조회수 212

0

회원가입시 음력으로 가입시도를 자꾸 실패해서 살펴보니 데이터베이스에 음력 날짜(lunarDate)가 9999-12-31 로 동일하던데 음력 데이터가 입력 날짜와 같은 값이 없어서 가입이 안되는 거죠? 음력 데이터는 없는건가요?

답변 1

답변을 작성해보세요.

1

안녕하세요.

사주 음력 데이터를 입력하는데 이슈가 있었습니다. 확인 감사합니다.

아래 섹션 6의 수업 2에서 manses_table.sql 를 다운로드 받아서 Data import 진행 부탁드립니다.

감사합니다.

image

이명진님의 프로필

이명진

질문자

2023.07.20

안녕하세요. 데이터 감사합니다.

근데 올려주신 파일 다운로드 후 import 진행 후 음력 데이터가 잘 들어간건 확인했는데 다른 오류가 생겼습니다

일단 데이터 import 후 서버를 실행하니 이런 에러가 발생합니다스크린샷 2023-07-20 09.31.50.png[Nest] 29989 - 2023. 07. 20. 오전 9:27:47 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)...

QueryFailedError: ER_TRUNCATED_WRONG_VALUE: Incorrect date value: '0000-00-00' for column 'lunarDate' at row 88

위의 사진에서 말한 db의 88번째 row를 보니 음력 날짜가 아래와 같이 나옵니다. ex) 0000-00-00스크린샷 2023-07-20 09.40.51.png

그래서 수정을 하려고하면스크린샷 2023-07-20 09.35.05.pngOperation failed: There was an error while applying the SQL script to the database.

Executing:UPDATE saju_db_dev.`manses` SET lunarDate = '1900-02-29' WHERE (`id` = '88');

ERROR 1292: 1292: Incorrect date value: '1900-02-29' for column 'lunarDate' at row 1

SQL Statement:UPDATE saju_db_dev.`manses` SET lunarDate = '1900-02-29' WHERE (`id` = '88')

이와같은 에러가 뜨면서 수정이 되지 않습니다. 꼭 '02-29'나 '02-30'로 수정만 안됩니다 02-28 등 다른 날짜로는 수정이 잘 됩니다.

보니까 모든 연도의 음력날짜 02-29, 02-30 이 입력되어야 할 부분이 모두 0000-00-00 으로 입력되있는거 같습니다 확인 부탁드립니다

 

안녕하세요. 이슈 확인 감사합니다.

섹션 6의 수업 2에서 manses_table_0720.sql 파일로 다시 import 부탁드립니다.

lunarDate (음력날짜) 에 '0000-00-00' 으로 되어 있는 경우 에러가 발생합니다. (NestJS 에서 발생, ExpressJS 에서는 발생하지 않음)

해당 부분을 '0000-00-00' 부분을 '9000-01-01'로 변경하였습니다. (230개 정도 '0000-00-00')

0000-00-00 이 실제 날짜에 해당되지 않는 포맷이라서 발생한 이슈로 판단됩니다.

감사합니다.

이명진님의 프로필

이명진

질문자

2023.07.21

수정 감사합니다. 그런데

해당 부분을 '0000-00-00' 부분을 '9000-01-01'로 변경하였습니다. (230개 정도 '0000-00-00')

라고 하셨는데 왜 9000-01-01로만 변경을 해야하나요? 실제 없는 날짜 인가요(음력으로)? 02-29나 02-30 이란 날짜가 들어가야하지 않을까요?

안녕하세요. 저도 기존의 데이터를 마이그레이션해서 사용한 것인데요.

그 데이터에서 음력 날짜가 0000-00-00 으로 입력이 되어있었습니다. (230개 정도)

0000-00-00 으로 입력된 것은 날짜가 없는 날짜라고 판단했습니다.

정확한 사주 데이터에 대해 관심이 있으시면 실제 과거 달력을 보고 확인하는 작업을 하시면 좋을 것 같습니다.

좋은 질문 감사합니다.