MySql으로 타임 스탬프를 만드는 데 문제가 있습니다. @DatabaseField
정의에서 특정 DataType.TIME_STAMP
항목을 사용하지 않는 측면에서 제안 사항 here을 따랐습니다.MySQL에서 ORMLite 문제로 타임 스탬프 생성
내 현재 @DatabaseField
은 다음과 같다 : 표에
@DatabaseField(format="yyyy-MM-dd HH:mm:ss", defaultValue="CURRENT_TIMESTAMP")
private Timestamp updatedAt;
그래도 점점 오류가 생성 : 그래서 그것은 형식 정의하지 않고, 형식 정의를 무시하는 것 같다
Unable to create table because of [Problems parsing default date
string 'CURRENT_TIMESTAMP' using 'yyyy-MM-dd HH:mm:ss.SSSSSS']
, 나는 아직 도착 이 오류 :
Unable to create table because of [Problems parsing default date
string 'CURRENT_TIMESTAMP' using 'yyyy-MM-dd HH:mm:ss.SSSSSS']
데이터 유형을 지정하려고했습니다. c DATE_TIME
에 매달려 있습니다. (아직 Timestamp를 사용하지 않고 단지 CURRENT_TIMESTAMP
으로 작동하는 DATE_TIME
을 만드는 것 외에는 조합을 찾지 못했습니다.)
과거에 수동으로 테이블을 업데이트했기 때문에 정말 고생했지만 이제는 숫자가 늘어나고 ORMLite에서 테이블 생성 옵션을 사용하여 프로세스를 완전히 자동화하고 싶습니다. 나중에 스키마를 수동으로 엉망으로 만든다.
모든 포인터는이 작업을 수행하는 방법에 매우 환영받을 것입니다.
는 메시지가있을 수 있습니다를 문제 여기 안토니. 문제는''CURRENT_TIMESTAMP ''가 변환 패턴과 일치하지 않기 때문에 기본값으로 사용할 수 없다는 것입니다. 어떻게 든 특수한 경우가 필요해. 각 DB 유형이이를 다르게 수행하기 때문에 이것은 고통스런 일이 될 것입니다. – Gray
와우! 초고속 응답 그레이 주셔서 감사합니다. 문제를 이해하고 사용자가 해결할 수있는 방법이 있습니까? MySQL 버전을 Postres에 넣으면 테이블 작성이 자연스럽게 실패합니다. 그래서 그것은 내가 의미하는 바를 본다면, 계급 설계 문제가 아니라 기반 구조 문제입니다. 아마도 timestamp에 대해서만 defaultValue 필드에 입력 된 것을 수락하면됩니까? 권리를 얻기위한 사용자의 책임. 그게 너에게 효과가 있니? – Anthony
그게 맞는 해결책일지도 몰라. _perfect_ 솔루션은 추상 데이터베이스 유형에 일종의 Timestamp 유효성 검사기를 갖는 것입니다. :-) 나는 실제로 문자열 파싱을해야한다는 것에 조금 놀랐다. 오늘 나중에 보겠습니다. – Gray