Folgespaltenname/Eigenschaftskollision?
-
27-10-2019 - |
Frage
Ich versuche, ein Folgenmodell für eine Tabelle mit einem zu erstellen, das eine hat options
Spalte, aber ich erhalte einen Fehler, wenn ich eine Abfrage versuche (wie zum Beispiel Find):
/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)
Und die Definition meines Modells:
Model.recording = sequelize.define(
'recordings',
{
/* other columns... */
options: Sequelize.TEXT
},
{
timestamps: false,
freezeTableName: true
}
);
Erlaubt es wirklich nicht options
Als Spaltenname oder mache ich etwas falsch?
Lösung
Nun, das ist eine ziemlich dumme "Edgecase". Das Definieren eines Attributs namens "Optionen" überschreibt die Optionen des Modells: D, das saugt :(.
Das Problem wurde gerade behoben und der Bugfix ist in v1.1.3 verfügbar. Bitte lassen Sie mich wissen, ob das funktioniert.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow