Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak stworzyć TRIGGER w SEQUELIZE (nodeJS)?

Możesz to zrobić na dwa sposoby. Jak zauważyłeś, możesz utworzyć wyzwalacz w samej bazie danych. Aby to osiągnąć, możesz uruchomić nieprzetworzone zapytanie sequeliza:

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

Możesz też utworzyć hak na modelu użytkownika, który wykonuje akcję na afterCreate wydarzenie:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz wszystkie punkty geoprzestrzenne wewnątrz ramki ograniczającej

  2. SQLSTATE[HY000]:Błąd ogólny:1298 Nieznana lub niepoprawna strefa czasowa:okna „UTC”

  3. Jak odczytać plik właściwości i podłączyć bazę danych MySQL?

  4. Tłumaczenie mongodb dla sql INSERT...SELECT

  5. pobierz ostatnio wstawiony identyfikator w serwerze sql 2008