Ahmed Yehia2 نشر 22 فبراير 2022 أرسل تقرير نشر 22 فبراير 2022 (معدل) ازاي اعمل triggers من sequelize تم التعديل في 22 فبراير 2022 بواسطة شرف الدين2 توضيح العنوان 1 اقتباس
0 شرف الدين حفني نشر 22 فبراير 2022 أرسل تقرير نشر 22 فبراير 2022 بالنسبة لل triggers يمكنك إنشاؤها من خلال طريقتين عبر كتابتها ك raw query كالتالي import { Sequelize } from "sequelize"; const sequelize = new Sequelize({ host: "localhost", port: 3306, dialect: "MySQL", username: "username", password: "password", database: "dbname", logging: false,}); sequelize.query('CREATE TRIGGER test AFTER INSERT ON users' + ' FOR EACH ROW' + ' BEGIN' + ' insert into logs (UserId) values(new.id);' + 'END;') ومن الممكن أيضًا إنشاؤها من خلال الhooks كما يظهر في المثال التالي حيث نقوم بإنشاء trigger عند إنشاء مُستخدم جديد(insert query) 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; }; ويمكن إستبدال afterCreate بأي hook أخر حيث يتوفر العديد من الhooks مثل afterUpdate, afterDestroy , beforeUpdate, beforeCreate, beforeDestroy فيمكنك إذًا وضع hook حسب الحدث الذي تريد تنفيذ الشفرة البرمجية بعده بالنسبة إلى الشق الثاني من السؤال غير واضح هل يمكنك رجاءًا توضيحه بشكلٍ أكبر؟ اقتباس
السؤال
Ahmed Yehia2
ازاي اعمل triggers من sequelize
تم التعديل في بواسطة شرف الدين2توضيح العنوان
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.