Diesel لـ Rust: دليل شامل مع أمثلة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

ما هو Diesel ولماذا هو مطلوب؟

\n\n

Diesel هي مكتبة ORM (تعيين الكائنات العلائقية) قوية وآمنة وقابلة للتوسع للغة البرمجة Rust. توفر طريقة آمنة من حيث النوع للتفاعل مع قواعد البيانات العلائقية مثل PostgreSQL و MySQL و SQLite. على عكس العديد من ORMs الأخرى، لا تستخدم Diesel السحر أو الانعكاس أثناء وقت التشغيل. بدلاً من ذلك، تقوم بتوليد كل الكود الضروري في مرحلة التجميع، مما يضمن صحة استعلاماتك وعدم تسببها في أخطاء أثناء وقت التشغيل.

\n\n

الأسباب الرئيسية لاستخدام Diesel:

\n
    \n
  • أمان النوع: يتم اكتشاف الأخطاء في استعلامات SQL (مثل اسم عمود غير صحيح أو عدم تطابق النوع) في مرحلة التجميع، وليس في الإنتاج.
  • \n
  • الأداء: يقوم Diesel بتوليد كود عالي التحسين يعمل على مستوى استعلامات SQL المكتوبة يدويًا.
  • \n
  • قابلية التوسع: يمكنك بسهولة إضافة دعم لأنواع بيانات وعوامل ووظائف جديدة.
  • \n
  • الترحيلات: نظام الترحيلات المدمج يسمح لك بإدارة مخطط قاعدة البيانات ككود.
  • \n
  • الأمان: يقوم Diesel تلقائيًا بتعقيم معاملات الاستعلام، مما يمنع حقن SQL.
  • \n
\n\n

Diesel مثالي للمشاريع التي تكون فيها الموثوقية والأداء وأمان البيانات مهمة. يُستخدم على نطاق واسع في تطبيقات الويب وخدمات API وأدوات معالجة البيانات وأي مشاريع Rust أخرى تتطلب التفاعل مع قواعد البيانات.

\n\n

تثبيت Diesel

\n\n

يتكون تثبيت Diesel من جزأين: إضافة المكتبة إلى المشروع وتثبيت أداة CLI للعمل مع الترحيلات.

\n\n

1. الإضافة إلى Cargo.toml

\n

افتح ملف Cargo.toml لمشروعك وأضف التبعيات. اختر الخلفية المناسبة لقاعدة البيانات (أو أكثر من واحدة):

\n\n
[dependencies]\ndiesel = { version = "2.1", features = ["postgres"] }  # لـ PostgreSQL\n# diesel = { version = "2.1", features = ["mysql"] }   # لـ MySQL\n# diesel = { version = "2.1", features = ["sqlite"] }  # لـ SQLite\n
\n\n

2. تثبيت CLI (واجهة سطر الأوامر)

\n

أداة CLI diesel_cli تُستخدم لإنشاء وتنفيذ الترحيلات. قم بتثبيتها عبر cargo:

\n\n
# لـ PostgreSQL\ncargo install diesel_cli --no-default-features --features postgres\n\n# لـ MySQL\ncargo install diesel_cli --no-default-features --features mysql\n\n# لـ SQLite\ncargo install diesel_cli --no-default-features --features sqlite\n\n# لجميع الخلفيات\ncargo install diesel_cli\n
\n\n

3. إعداد الاتصال

\n

أنشئ ملف .env في جذر المشروع لتخزين سلسلة الاتصال:

\n\n
DATABASE_URL=postgres://username:password@localhost/diesel_demo\n
\n\n

ثم قم بتهيئة Diesel في مشروعك:

\n\n
diesel setup\n
\n\n

سينشئ هذا الأمر ملف diesel.toml ومجلد migrations وسيحاول إنشاء قاعدة البيانات إذا لم تكن موجودة.

\n\n

بداية سريعة مع مثال كود

\n\n

لنقم بإنشاء تطبيق بسيط لإدارة المستخدمين.

\n\n

1. إنشاء ترحيل

\n

لنقم بإنشاء جدول users:

\n\n
diesel migration generate create_users\n
\n\n

قم بتحرير ملفات الترحيل:

\n\n

up.sql:

\n
CREATE TABLE users (\n    id SERIAL PRIMARY KEY,\n    name VARCHAR NOT NULL,\n    email VARCHAR NOT NULL UNIQUE,\n    age INTEGER NOT NULL DEFAULT 0,\n    created_at TIMESTAMP NOT NULL DEFAULT NOW()\n);\n
\n\n

down.sql:

\n
DROP TABLE users;\n
\n\n

قم بتطبيق الترحيل:

\n\n

توصيات