Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để tạo một TRIGGER trong SEQUELIZE (nodeJS)?

Bạn có thể làm điều này bằng một trong hai cách. Như bạn đã lưu ý, bạn có thể tạo một trình kích hoạt trong chính cơ sở dữ liệu. Bạn có thể chạy một truy vấn kích thước phần tiếp theo thô để thực hiện điều này:

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

Hoặc, bạn có thể tạo hook trên mô hình người dùng thực hiện một hành động trên afterCreate sự kiện:

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. Làm cách nào để thêm AUTO_INCREMENT vào cột hiện có?

  2. Ngày PHP ('W') so với MySQL YEARWEEK (bây giờ ())

  3. Không tìm thấy bảng cơ sở di chuyển Laravel 4

  4. Làm cách nào để thay đổi mật khẩu tài khoản gốc MySQL trên CentOS7?

  5. Cách hoạt động của toán tử SOUNDS LIKE trong MySQL