質問

私は、 options 列ですが、クエリを試みるとエラーが発生します(たとえば、検索など):

/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 列名として、または私は何か間違ったことをしていますか?

役に立ちましたか?

解決

まあ、それはかなり愚かな「edgecase」です。 「オプション」と呼ばれる属性を定義すると、モデルのオプションが上書きされます。

問題は修正されたばかりで、bugfixはv1.1.3で利用できます。それがうまくいくかどうか教えてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top