sql >> Database >  >> RDS >> Mysql

Hoe maak je een TRIGGER in SEQUELIZE (nodeJS)?

U kunt dit op twee manieren doen. Zoals je hebt opgemerkt, zou je een trigger in de database zelf kunnen maken. U kunt een onbewerkte vervolgquery uitvoeren om dit te bereiken:

sequelize.query('CREATE TRIGGER create_config AFTER INSERT ON users' +
  ' FOR EACH ROW' +
  ' BEGIN' +
  ' insert into configs (UserId) values(new.id);' +
  'END;')

Of u kunt een haak maken op het gebruikersmodel dat een actie uitvoert op een afterCreate evenement:

module.exports = function(sequelize, DataTypes) {    
  var User = sequelize.define('User', {
    name        : DataTypes.STRING(255),
    email       : DataTypes.STRING(255),
    username    : DataTypes.STRING(45),
    password    : DataTypes.STRING(100),
  }, {
    classMethods : {
      associate : function(models) {
        User.hasOne(models.Config)
      }
    },
    hooks: {
      afterCreate: function(user, options) {
        models.Config.create({
          UserId: user.id
        })
      }
    }
  });
  return User;
};


  1. Hoe TAN() werkt in MariaDB

  2. Selecteer ALLE velden die alleen HOOFDLETTERS bevatten

  3. Hoe kan ik een niet-null-beperking in Oracle laten vallen als ik de naam van de beperking niet weet?

  4. Hoe verander je 2 zoekopdrachten met gemeenschappelijke kolommen (A, B) en (A, C) in slechts één (A, B, C)?