2014-12-19 1 views
1

내 응용 프로그램은 테이블 중 하나에 날짜 부분 만 저장하려고합니다. Sequelize에는 data type, Sequelize.DATE 중 하나만 사용할 수 있습니다. MySQL 테이블에서는 DATETIME 컬럼을 생성합니다.(mysql) 테이블에만 스토어 날짜 부분을 Sequelize

날짜없이 시간 만 저장하는 데이터베이스 테이블의 열을 어떻게 만들 수 있습니까? 부품? MySQL은 별도의 DATEDATETIME 데이터 유형을 가지고 있지만이를 Sequelize에서 알 수있는 방법을 찾을 수 없습니다.

또는 Date 개체를 사용하여 쿼리를 실행하는 동안 시간 부분을 무시하도록 할 수 있습니까? 는 (나는 우리가 속성 getters and setters을 사용할 수 있습니다 모른다. 실행 쿼리 날짜 필드에 대한 조건을하면서 작동 여부를 아무 생각.)

답변

1

참고 사항 ... Sequelize v3의 DATEONLY 유형이 예상대로 작동하지 않습니다. 시간대가있는 Datetime을 반환하므로 날짜 비교를 수행하는 경우 서버 시간대 GMT가 아니면 예상대로 작동하지 않습니다. 제 경우에는 시간대에 걸쳐 휴일로 일하고 있습니다. 그래서 이것은 저에게 두통이었습니다. 그들은 master 브랜치에 fix as of 2016-11-01을 가지고 있지만 v3에 들어간 것은 아니며 아직 v4가 없습니다. 당장이 문제를 해결하려면 동일한 링크에서 찾은 모델 정의에서이 작업을 수행 할 수 있습니다.

regDate: { 
    type: DataTypes.DATEONLY, 
    get: function() { 
    return moment.utc(this.getDataValue('regDate')).format('YYYY-MM-DD'); 
    } 
}