sql >> データベース >  >> RDS >> Mysql

SEQUELIZE(nodeJS)でTRIGGERを作成するにはどうすればよいですか?

    これは、2つの方法のいずれかで実行できます。お気づきのとおり、データベース自体にトリガーを作成できます。これを実現するために、生の続編クエリを実行できます。

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

    または、フック を作成することもできます afterCreateでアクションを実行するユーザーモデル イベント:

    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. 次の主キーを計算する-特定の形式

    2. Oracleでパッケージ内のプロシージャを実行する方法

    3. date_subから週末をどのように除外しますか?

    4. MySQLの日付比較