Sequelize afterCreate не стреляет - PullRequest
       69

Sequelize afterCreate не стреляет

4 голосов
/ 05 января 2020

Я использую Sequelize как ORM с MySQL, Node и Express.

. При вставке нового элемента в таблицу «ExpertiseField» я хочу обновить поле в другой таблице.

У меня проблема с крючками в Sequelize, по какой-то причине afterCreate, похоже, ничего не делает.

Моя модель 'ExpertiseField':

module.exports = (sequelize, DataTypes) => {
  const ExpertiseField = sequelize.define('ExpertiseField', {
    name: DataTypes.STRING,
    type: DataTypes.INTEGER,
    position: DataTypes.INTEGER
  }, {
    classMethods: {
      associate: function(models) {
        ExpertiseField.hasOne(models.LocalDataLastUpdatedAtItem);
      }
    },
    hooks: {
      afterCreate: function(expertiseField, options) {
        sequelize.models.LocalDataLastUpdatedAtItem.update({
          updatedAt: expertiseField.updatedAt
        },{
          where: {
            name: 'expertise_fields_last_updated_at'
          }
        });
      }
    }
  });
  ExpertiseField.associate = function(models) {
    // associations can be defined here
  };
  return ExpertiseField;
};

крючок I творчество ничего не делает, есть идеи почему?

1 Ответ

0 голосов
/ 15 января 2020

Отвечая на мой вопрос, так что, возможно, это поможет кому-то сделать мою ошибку в будущем.

Очевидно, что перехватчики Sequelize работают только внутри кода. При редактировании моей таблицы из сторонней программы SQL -Viewer ничего не происходило, и я думал, что что-то не так ... но при запуске моего кода все работало нормально.

...