مرجع سريع

ورقة غش كائن الربط العلائقي Sequelize ORM

دليل مرجعي سريع لمكتبة Sequelize: أداة ORM القائمة على الوعود في Node.js لقواعد بيانات Postgres و MySQL و SQLite، تعريف النماذج والاستعلامات والعلاقات.

· تاريخ النشر

Sequelize هي مكتبة ORM قائمة على الوعود لبيئة Node.js تدعم كلاً من Postgres و MySQL و MariaDB و SQLite و Microsoft SQL Server.

الاتصال وتعريف النماذج

const { Sequelize, DataTypes } = require('sequelize');

const sequelize = new Sequelize('postgres://user:pass@localhost:5432/mydb');

const User = sequelize.define('User', {
  name: {
    type: DataTypes.STRING,
    allowNull: false
  },
  email: {
    type: DataTypes.STRING,
    unique: true,
    validate: { isEmail: true }
  }
});

// مزامنة هيكل قاعدة البيانات
await sequelize.sync();

عمليات CRUD الأساسية

// إنشاء (Create)
const user = await User.create({ name: 'Alice', email: '[email protected]' });

// قراءة واستعلام (Read)
const users = await User.findAll({
  where: { name: 'Alice' },
  order: [['createdAt', 'DESC']],
  limit: 10
});

// تحديث (Update)
await User.update({ name: 'Bob' }, { where: { id: 1 } });

// حذف (Delete)
await User.destroy({ where: { id: 1 } });

العلاقات بين النماذج (Associations)

User.hasMany(Post);
Post.belongsTo(User);

// التحميل الفوري مع تضمين النماذج المرتبطة (Eager loading)
const userWithPosts = await User.findOne({
  where: { id: 1 },
  include: [Post]
});

مراجع مفيدة

موضوعات ذات صلة