web-dev-qa-db-fra.com

désactiver le champ updatedAt (date de mise à jour) dans sequelize.js

j'ai utilisé sequelize-auto pour générer un schéma, et j'essaie d'utiliser findOne() et j'obtiens cette erreur:

Unhandled rejection SequelizeDatabaseError: Invalid column name 'updatedAt'.

dans ma table de base de données, il n'y a pas de champ updatedAt

par exemple mon nom de table est Users mon code est Users.findOne(), et il n'y a pas de champ updatedAt dans users table.

db.users= sequelize.import(__dirname + "/models/users");
app.get('/users', function (req, res) {

  db.user.findOne().then(function (project) {
    res.json(project);
  })

});

comment le résoudre?

15
yozawiratama

Reportez-vous à la documentation pour la configuration du modèle dans Sequelize

Dans le modèle, l'objet de votre table devrait ressembler à ceci.

var user = sequelize.define('user', { /* bla */ }, {
  // don't add the timestamp attributes (updatedAt, createdAt)
  timestamps: false,
  // your other configuration here
});

Check tilisation de sequelize-auto-generation module

  1. Créez un fichier json pour toutes les options de configuration du modèle (objet indicateur tel que défini ici ).

  2. Lors de l'exécution de la commande, vous devez passer -a ou --addtional option pour celle où vous devez passer le chemin de configuration du fichier json.

22
Haresh Vidja