Mohammad Jawad Barati
Mohammad Jawad Barati
خواندن ۱ دقیقه·۴ سال پیش

پکیج Sequelize بخش ۱

هوک (Hook) های Sequelize توی سطح جاوااسکریپت هستن نه store procedure

وقتی توی Sequelize رابطه رو ایجاد می کنید به صورت پیشفرض onUpdate روی CASCADE هست و onDelete روی SET NULL هست.

برای تعریف alias ها باید از دو طرف عمل کنید.

از هر دو طرف رابطه رو تعریف می کنیم. یعنی نصف alias توی مدل ضعیف و نصف دیگش توی مدل قوی میره.

از هر دو طرف تعریف کردن روابط باعث میشه فانکشن های mixin به هر دو مدل اضافه بشه.

وصل شدن به دیتابیس

تعریف رابطه یک به چند

برای ایجاد رابطه یک به چند از belongsTo و hasMany استفاده میشه.

نکته مهم اینه که این دوتا متد نمیان برات unique بودن FK رو چک کنن. چیزی که چک کردم این بود که مستقیم توی دیتابیس اومدم رکوردی insert کردم که FK تکراری داشتن و بدون دادن ارور رکورد رو ثبت کرد.

مدل Resource

مدل Attribute

تعریف رابطه چند به چند

در این وضعیت ما یه جدول/مدل وسط داریم.

توی جدول وسط هیچ alias ای تعریف نمیشه. چونکه هیچ مدل دیگری اون جدول وسط رو رفرنس نمیکنه.

برای ایجاد رابطه چند به چند از belongsToMany استفاده میشه.

مدل Permission

مدل Role

حالا برای اینکه این دوتا رو به هم وصل کنیم میگیم که یه مدل RolePermission داریم و توی اون رابطه رو میزنیم.

مدل RolePermission

داستان otherKey و foreignKey رو توی عکس زیر ببینید:

تعریف رابطه یک به یک



استفاده از توابع mixins

https://stackoverflow.com/questions/49467654/what-methods-mixins-sequelize-adds-to-the-models-when-an-association-is-made

sequelizeassociationnode jsنود جی اسروابط در sequelize
برنانه نویس، مدرس، محقق. عاشق انیمه هستم و دنبال چالش ها جدید.
شاید از این پست‌ها خوشتان بیاید