Ho bisogno di ottenere alcuni dati da Sequelize Model precedentemente definito.Esiste un modo per ottenere associazioni di attributi // mediante Sequelize Model precedentemente definito?
quello che mi serve:
* attributes list
* attribute name
* attribute type (INTEGER, STRING,...)
* was it generated by association method?
* list of associations
* association type (belongsTo, hasMany, ...)
Per qualche motivo è piuttosto difficile per ispezionare modelli Sequelize in consolle:
> db.sequelize.models.Payment
Payment // <- it's valid Sequelize Model {Object}, however its not inspectable
> db.sequelize.models.Payment.attributes
...
type:
{ type: { values: [Object] },
values: [ 'cash', 'account', 'transfer' ],
Model: Payment,
fieldName: 'type',
_modelAttribute: true,
field: 'type' },
sum:
{ type:
{ options: [Object],
_length: undefined,
_zerofill: undefined,
_decimals: undefined,
_precision: undefined,
_scale: undefined,
_unsigned: undefined },
Model: Payment,
fieldName: 'sum',
_modelAttribute: true,
field: 'sum' },
...
Come si vede, non c'è informazioni reali sui tipi di campi. Lo stesso succede con le associazioni.
Quindi, esiste un metodo "ufficiale" affidabile per estrarre questi dati dalla classe Model senza scavare e rovesciare l'oggetto?
GRAZIE. Dopo aver accuratamente cercato Stack Overflow, ho iniziato a trovare il codice Sequelize e ho avuto accesso agli attributi del mio modello. Non riuscivo a capire come leggere il DataType quando appariva come 'ABSTRACT {length: 255}'. Entrambi i lavori di cui sopra. – NobleUplift
Per ottenere il tipo come stringa utilizzata nel database, è possibile eseguire 'ModelName.rawAttributes.propertyName.type.toSql()' – Eric
Grazie! L'ho appena usato oggi. C'è documentazione per questo misterioso oggetto di "tipo" e tutte le proprietà/metodi che contiene? – NobleUplift