ruby 1.8.7에서 mysql2 0.3.11 (mysql 14.14 서버에 대해)을 사용하고 있는데 created_at
또는 updated_at
값이 잘못된 DateTime이 될 수 있으며 내 앱이 "Invalid date: 2022-03-00 00:00:00"
이라는 메시지와 함께 예외를 던질 수 있습니다.created_at 및 updated_at에 유효하지 않은 datetimes를 삽입하는 레일
created_at
및 updated_at
열을 사용하여 명시 적으로 작성, 설정, 읽기 또는 작업을 수행하지 않습니다.
mysql
클라이언트를 통해 테이블을 검사하면 대부분이 열의 값은 "0000-00-00 00:00:00
"이며이 값은 레일스에서 nil
으로 끝납니다. 그러나 여러 행은 "2022-03-00 00:00:00
"과 같은 값을 표시합니다 (2022 년에 모두 알 수 있지만 모두 다릅니다).
흥미롭게도 나는 객체를 생성 할 수 없으므로 레일스에서 .destroy()
을 실행할 수 없습니다.
해당 열에 대해 잘못된 날짜를 설정할 수있는 것은 무엇입니까?
편집 : 이것은 모든 테이블에서 발생합니다. 여기 내 schema.rb이며, 테이블 중 하나에 대한 마이그레이션의 모든 : https://gist.github.com/2930655
Edit2가 : 나는 (내 대답은 아래를 참조)에게 자신을 해결하지만, 당신이 그것을 인 경우에 무게를 줄 경우 감사하겠습니다 버그, 그렇다면 어떤 패키지가 버그인지 (ActiveRecord?).
해당 테이블에 대한 마이그레이션은 무엇이며 schema.rb에는 어떤 것이 있습니까? – MBHNYC