sql >> Databáze >  >> RDS >> Mysql

Jak vytvořit TRIGGER v SEQUELIZE (nodeJS)?

Můžete to udělat jedním ze dvou způsobů. Jak jste si všimli, můžete vytvořit spouštěč v samotné databázi. Chcete-li toho dosáhnout, můžete spustit nezpracovaný sequelizační dotaz:

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

Nebo můžete vytvořit háček na uživatelském modelu, který provádí akci na afterCreate událost:

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. Jak mohu nastavit vlastní formát data a času v Oracle SQL Developer?

  2. Vyberte záznamy z předchozího týdne v mysql

  3. Jak filtrovat řádky s hodnotami Null v příkazu Select v SQL Server - SQL Server / Výukový program TSQL, část 110

  4. Přidání cizího klíče typu char do mysql