J'ai créé une table postgresql 9Comment éviter Sequelize d'insérer NULL pour les clés primaires avec Postgres
create table stillbirth(id serial primary key, state varchar(100), count int not null, year int not null);
essayer d'écrire un échantillon sur Node.js avec version sequelize 1.4.1.
cartographié le tableau ci-dessus
var StillBirth = sequelize.define('stillbirth',
{ id: {type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true},
state: Sequelize.STRING,
year: Sequelize.INTEGER,
count: Sequelize.INTEGER
}, {timestamps: false, freezeTableName: true});
maintenant lorsque je tente de créer une nouvelle instance de mortinaissance et de l'enregistrer, je reçois des erreurs.
/** nouvelle instance créer un code **/
StillBirth
.build({state: objs[j].state, year: objs[j].year, count: objs[j].count})
.save()
.error(function(row){
console.log('could not save the row ' + JSON.stringify(row));
})
.success(function(row){
console.log('successfully saved ' + JSON.stringify(row));
})
erreur que je reçois
* Exécution: INSERT INTO "mort-né" ("Etat", "année", "compte", » id ") VALEURS ('Andhra Pradesh', 2004,11, NULL) RETOURNANT ; impossible d'enregistrer la ligne {"longueur": 110, "nom": "erreur", "gravité": "ERREUR", "code": "23502", "fichier": "execMain.c", "ligne" : "1359", "routine": "ExecConstraints"}
Si vous regardez le sql que sa génération, il met null pour la clé primaire qui devrait idéalement être générée par le db.
Quelqu'un peut-il m'aider pour ce qui me manque ici?
Merci qui a travaillé avec la version 1.5.x, de façon surprenante le registre de NPM https://npmjs.org/package/sequelize ne marche pas mentionner quoi que ce soit à propos de la version 1.5.0. – anishek
essayez 'npm show sequelize' sur la ligne de commande. :) – sdepold
Le problème avec cette solution est que lorsque vous essayez d'effectuer une mise à jour comme this user.save ({adresse: null}); cela ne change pas l'adresse dans la base de données. Est-il possible d'effectuer une mise à jour et de définir un attribut sur null? – lao