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;
};