2013-07-29 11 views
6

Ho un'istanza di Sequelize con il flag omitNull per inserire de defaultValues ​​definiti nel DB se non li definisco nel metodo di creazione di un modello. In questo modo:Come inserire un valore nullo in Sequelize con omitNull flag?

var sequelize = new Sequelize('db', 'user', 'pw', { 
    omitNull: true 
}) 

Ma voglio inserire valori nulli in altri modelli se li definisco null. Come:

SomeModel.create({some_property: null}); 

C'è un modo per definire la proprietà omitNull solo per alcune proprietà di un modello?

risposta

5

Quando si utilizza l'opzione omitNull = true, è possibile forzare il sequelize per impostare una proprietà null.

Basta fare qualcosa di simile:

SomeModel.some_property = null; 
SomeModel.save(['some_property']); 

Questo costringerà sequelize per creare l'aggiornamento/inserimento SQL con NULL per some_property.

Spero che aiuti.

+0

mi sono imbattuto in questo problema oggi e la soluzione sta lavorando bene per me. @vistur: Si prega di accettare questa risposta –

0

Se stai usando sequelize < v2.0, un hackier, soluzione alternativa sarebbe quella di

sequelize.options.omitNull = false; 

SomeModel.some_property = null; 
SomeModel.save(); 

sequelize.options.omitNull = true; 
Problemi correlati