قواعد البيانات 1 دقيقة للقراءة 2,042 مشاهدات

Drizzle ORM: مجموعة أدوات قواعد البيانات بأولوية TypeScript لعام 2026

يُقدم Drizzle ORM وصولاً آمناً للأنواع لقواعد البيانات بدون حمل وقت تشغيل.

Database ORM code

أصبح Drizzle ORM بسرعة الخيار المفضّل لمطوّري TypeScript الذين يريدون وصولاً آمن الأنواع إلى قاعدة البيانات دون العبء الزائد لأدوات ORM التقليدية.

لماذا Drizzle؟

  • صفر عبء وقت التشغيل: يُترجَم إلى SQL خالص
  • آمن الأنواع: استنتاج كامل لأنواع TypeScript
  • صياغة شبيهة بـ SQL: مألوفة لمطوّري SQL
  • خفيف: اعتماديات قليلة

تعريف المخططات

import { pgTable, serial, text, timestamp } from "drizzle-orm/pg-core";

export const users = pgTable("users", {
  id: serial("id").primaryKey(),
  name: text("name").notNull(),
  email: text("email").unique().notNull(),
  createdAt: timestamp("created_at").defaultNow(),
});

export const posts = pgTable("posts", {
  id: serial("id").primaryKey(),
  title: text("title").notNull(),
  authorId: integer("author_id").references(() => users.id),
});

الاستعلامات

// Select with relations
const result = await db
  .select()
  .from(users)
  .leftJoin(posts, eq(posts.authorId, users.id))
  .where(eq(users.name, "Edrees"));

// Insert
await db.insert(users).values({ name: "John", email: "john@example.com" });

// Update
await db.update(users).set({ name: "Jane" }).where(eq(users.id, 1));

Drizzle مقابل Prisma

الميزةDrizzlePrisma
حجم الحزمة~50KB~2MB
التحكم في SQLكاملمحدود
منحنى التعلّمشبيه بـ SQLلغة DSL خاصة
مشاركة هذه المقالة:
ES
كتبه

Edrees Salih

مهندس برمجيات متكامل يتمتع بخبرة 9 سنوات. شغوف ببناء حلول قابلة للتطوير ومشاركة المعرفة مع مجتمع المطورين.

عرض الملف الشخصي

التعليقات (0)

اترك تعليقًا

لن يتم نشر بريدك الإلكتروني.

لا توجد تعليقات بعد. كن أول من يشارك أفكاره!

مقالات ذات صلة

مقالات ذات صلة

هل تحتاج مساعدة في مشروعك؟

احجز استشارة مجانية لمدة 30 دقيقة لمناقشة تحدياتك التقنية واستكشاف الحلول معًا.