2011-10-19 56 views
0

我試圖創建一個具有options列的表sequelize模式,但我得到一個錯誤,當我試圖查詢(如找到,例如):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 
    } 
); 

是否確實不允許options作爲列名,或者我做錯了什麼?

回答

2

那麼,這是一個非常愚蠢的「邊緣」。定義一個名爲「options」的屬性將覆蓋該模型的選項:D:吸收:(

該問題剛剛修復並且bug修復在v1.1.3中可用請讓我知道這是否可行

+0

我正在讀一個現有的數據庫,這個數據庫已經在其他地方使用了,所以我不能真的改變列名。 – lakenen

+0

我明白了,會盡力爲這個問題找點時間。 – sdepold