Natknąłem się na dziwny błąd podczas zapisywania rekordu bazy danych z sequelize
. Błąd to:
Error: DatabaseError: null value in column 'id' violates not-null constraint
Pole id
zostało utworzone serial
jako automatyczne inkrementowanie i nie przypisano mu wartości przed save
. Oto kod:
order = Order.build(d);
try {
await order.save();
} catch(error) {
console.log('Order# ${d.platform_order_id} NOT saved.', error.message);
};
Rozumiem, że nie muszę przypisywać wartości do id
, ponieważ baza danych się tym zajmie. Oto order-id-seq
:
Co przegapiłem?
0
user938363
6 listopad 2018, 21:22
1 odpowiedź
Najlepsza odpowiedź
Możesz zmienić schemat modelu definicji jak poniżej :-
dodaj autoIncrement: prawda w podanym identyfikatorze
id: {
type: DataTypes.UUID,
field: 'id',
allowNull: false,
primaryKey: true,
autoIncrement: true
}
1
Chandru
6 listopad 2018, 23:10
Podobne pytania
Nowe pytania
sequelize.js
Biblioteka Sequelize zapewnia ORM (Object-Relational-Mapper) dla Node.js, napisany w całości w JavaScript. Zapewnia łatwe mapowanie dla MySQL, MariaDB, SQLite, PostgreSQL i SQL Server.