2011-10-19 8 views
0

가 나는 options 열이있는 테이블에 대한 sequelize 모델을 만들기 위해 노력하고 있어요,하지만 난 쿼리를 시도 할 때 나는 (같은 찾을 예를 들어) 오류가 발생합니다 :열 이름/속성 충돌을 반복 하시겠습니까?

/Users/camupod/node_modules/sequelize/lib/sequelize/model.js:17 
    var defaults = this.options.hasPrimaryKeys ? {} : { id: null } 
          ^
TypeError: Cannot read property 'hasPrimaryKeys' of null 
    at new <anonymous> (/Users/camupod/node_modules/sequelize/lib/sequelize/model.js:17:30) 
    at [object Object].build (/Users/camupod/node_modules/sequelize/lib/sequelize/model-definition.js:140:18) 
    at /Users/camupod/node_modules/sequelize/lib/sequelize/query.js:47:64 
    at Array.map (native) 
    at [object Object].onSuccess (/Users/camupod/node_modules/sequelize/lib/sequelize/query.js:47:22) 
    at /Users/camupod/node_modules/sequelize/lib/sequelize/query.js:22:38 
    at Query.<anonymous> (/Users/camupod/node_modules/mysql/lib/client.js:108:11) 
    at Query.emit (events.js:61:17) 
    at Query._handlePacket (/Users/camupod/node_modules/mysql/lib/query.js:51:14) 
    at Client._handlePacket (/Users/camupod/node_modules/mysql/lib/client.js:312:14) 

그리고 내 모델의 정의 :

Model.recording = sequelize.define(
    'recordings', 
    { 
     /* other columns... */ 
     options: Sequelize.TEXT 
    }, 
    { 
     timestamps: false, 
     freezeTableName: true 
    } 
); 

sequelize는 실제로 options을 열 이름으로 허용하지 않습니까? 아니면 제가 잘못하고 있습니까?

답변

2

글쎄, 그건 꽤 바보 같은 "edgecase". . "옵션"이라는 속성을 정의 모델의 옵션을 덮어 쓰게됩니다.

문제는 단지 고정을 D :(짜증과 버그 수정이 v1.1.3에서 사용할 경우 작동 알려 주시기 바랍니다

.
+0

이미 다른 곳에서 사용되는 기존 데이터베이스에서 읽으므로 열 이름을 실제로 변경할 수 없습니다. – lakenen

+0

meh. 참조하십시오. 해당 문제에 대해 약간의 시간이 소요될 것입니다. – sdepold