2013-07-29 12 views
6

Mam wystąpienie Sequelize z flagą omitNull, aby wstawić de defaultValues ​​zdefiniowane w DB, jeśli nie zdefiniuję ich w metodzie create modelu. W ten sposób:Jak wstawić wartość pustą w Sequelize z flagą omitNull?

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

Ale chcę wstawić wartości null w innych modelach, jeśli zdefiniuję je jako zero. Podobnie jak:

SomeModel.create({some_property: null}); 

Czy istnieje sposób zdefiniowania właściwości omitNull tylko dla niektórych właściwości modelu?

Odpowiedz

5

Podczas korzystania z opcji omitNull = true istnieje metoda wymuszenia na sequelize ustawienia właściwości o wartości null.

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

To zmusi sequelize do tworzenia aktualizacji/insert SQL NULL dla some_property:

Właśnie coś takiego zrobić.

Mam nadzieję, że to pomaga.

+0

natknąłem tej kwestii dziś i rozwiązanie działa dobrze dla mnie. @vistur: Proszę przyjąć tę odpowiedź –

0

Jeśli używasz sequelize < v2.0, A hackier, alternatywnym rozwiązaniem byłoby

sequelize.options.omitNull = false; 

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

sequelize.options.omitNull = true;