Skip to content

NOTE

**ملاحظة** — في الوقت الحالي يحتاج Prisma إلى تثبيت Node.js لتشغيل بعض كود التوليد. تأكد من تثبيت Node.js في البيئة التي تشغل فيها أوامر `bunx prisma`.
#### إنشاء مشروع جديد">
	أولاً، أنشئ دليلًا وتهيئه باستخدام `bun init`.

	```bash
	mkdir prisma-postgres-app
	cd prisma-postgres-app
	bun init
	```


#### تثبيت تبعيات Prisma">
	ثم قم بتثبيت Prisma CLI (`prisma`) و Prisma Client (`@prisma/client`) وإضافة تسريع كامتداد كتبعيات.

	```bash
	bun add -d prisma
	bun add @prisma/client @prisma/extension-accelerate
	```


#### تهيئة Prisma مع PostgreSQL">
	سنستخدم Prisma CLI مع `bunx` لتهيئة المخطط ودليل الترحيل. سنستخدم PostgreSQL كقاعدة البيانات الخاصة بنا.

	```bash
	bunx --bun prisma init --db
	```

	ينشئ هذا مخططًا أساسيًا. نحتاج إلى تحديثه لاستخدام العميل الجديد الخالي من Rust مع تحسين Bun. افتح `prisma/schema.prisma` وعدل كتلة المولد، ثم أضف نموذج `User` بسيط.

	```prisma prisma/schema.prisma
	generator client {
		provider = "prisma-client"
		output = "./generated" // [!code ++]
		engineType = "client" // [!code ++]
		runtime = "bun" // [!code ++]
	}

	datasource db {
		provider = "postgresql"
		url      = env("DATABASE_URL")
	}

	model User { // [!code ++]
		id    Int     @id @default(autoincrement()) // [!code ++]
		email String  @unique // [!code ++]
		name  String? // [!code ++]
	} // [!code ++]
	```


#### تكوين اتصال قاعدة البيانات">
	قم بإعداد URL قاعدة بيانات PostgreSQL في ملف `.env`.

	```ini .env
	DATABASE_URL="postgresql://username:password@localhost:5432/mydb?schema=public"
	```


#### إنشاء وتشغيل ترحيل قاعدة البيانات">
	ثم قم بإنشاء وتشغيل الترحيل الأولي.

	سينشئ هذا ملف ترحيل `.sql` في `prisma/migrations`، وينفذ الترحيل على قاعدة بيانات PostgreSQL الخاصة بك.

	```bash
	bunx --bun prisma migrate dev --name init
	```

	```txt
	تم تحميل متغيرات البيئة من .env
	تم تحميل مخطط Prisma من prisma/schema.prisma
	مصدر البيانات "db": قاعدة بيانات PostgreSQL "mydb"، المخطط "public" على "localhost:5432"

	تم تطبيق الترحيل `20250114141233_init`

	تم إنشاء الترحيلات التالية وتطبيقها من تغييرات المخطط الجديدة:

	prisma/migrations/
	  └─ 20250114141233_init/
	    └─ migration.sql

	قاعدة البيانات الخاصة بك الآن متزامنة مع المخطط الخاص بك.

	✔ تم توليد Prisma Client (6.17.1) إلى ./generated في 18ms
	```


#### توليد Prisma Client">
	كما هو موضح في المخرجات، يقوم Prisma بإعادة توليد _عميل Prisma_ كلما نفذنا ترحيلًا جديدًا. يوفر العميل API مكتوب بالكامل للقراءة والكتابة من قاعدة البيانات الخاصة بنا. يمكنك إعادة توليد العميل يدويًا باستخدام Prisma CLI.

	```sh
	bunx --bun prisma generate
	```


#### تهيئة Prisma Client مع Accelerate">
	الآن نحتاج إلى إنشاء مثيل عميل Prisma. أنشئ ملفًا جديدًا `prisma/db.ts` لتهيئة PrismaClient مع محول Postgres.

	```ts prisma/db.ts
	import { PrismaClient } from "./generated/client";
	import { withAccelerate } from '@prisma/extension-accelerate'

	export const prisma = new PrismaClient().$extends(withAccelerate())
	```


#### إنشاء نص اختبار">
	لنكتب نصًا بسيطًا لإنشاء مستخدم جديد، ثم حساب عدد المستخدمين في قاعدة البيانات.

	```ts index.ts
	import { prisma } from "./prisma/db";

	// إنشاء مستخدم جديد
	await prisma.user.create({
	  data: {
	    name: "John Dough",
	    email: `john-${Math.random()}@example.com`,
	  },
	});

	// حساب عدد المستخدمين
	const count = await prisma.user.count();
	console.log(`يوجد ${count} مستخدمين في قاعدة البيانات.`);
	```


#### تشغيل واختبار التطبيق">
	لنشغل هذا النص باستخدام `bun run`. في كل مرة نشغلها، يتم إنشاء مستخدم جديد.

	```bash
	bun run index.ts
	```

	```txt
	يوجد 1 مستخدمين في قاعدة البيانات.
	```

	```bash
	bun run index.ts
	```

	```txt
	يوجد 2 مستخدمين في قاعدة البيانات.
	```

	```bash
	bun run index.ts
	```

	```txt
	يوجد 3 مستخدمين في قاعدة البيانات.
	```

هذا كل شيء! الآن بعد أن قمت بإعداد Prisma Postgres باستخدام Bun، نوصي بالرجوع إلى الوثائق الرسمية لـ Prisma Postgres أثناء استمرار تطوير تطبيقك.

Bun بواسطة www.bunjs.com.cn تحرير