راه اندازی postgresql با prisma orm در یک پروژه node.js (با استفاده از داکر)

در پروژه Node.js اخیر من ، من یک پایگاه داده PostgreSQL را با استفاده از Prisma ORM-یکی از کارآمدترین و نوع ORM های موجود در دسترس تنظیم کردم. من از Docker برای اجرای Postgres در دستگاه Linux خود استفاده کردم
در اینجا یک پیاده روی دقیق از راه اندازی وجود دارد – از کشیدن تصویر Docker تا تولید مشتری Prisma. اگر با Prisma و PostgreSQL در Node.js شروع می کنید ، این راهنما برای شما مناسب است.
پیش نیازها
اطمینان حاصل کنید که موارد زیر نصب شده است:
مرحله 1: تصویر Docker PostgreSQL را بکشید
docker pull postgres
مرحله 2: ظرف PostgreSQL را اجرا کنید
docker run --name my-postgres -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=secret -e POSTGRES_DB=mydb -p 5432:5432 -d postgres
این یک ظرف postgresql را با:
- نام کاربری: مدیر
- رمز عبور: راز
- نام پایگاه داده: MYDB
- بندر: DB را در LocalHost قرار می دهد: 5432
مرحله 3: پروژه Nodejs INIT
npm init -y
مرحله 4: PRISMA را نصب کنید
npm install prisma --save-dev
npm install @prisma/client
npx prisma init
مرحله 5: پیکربندی .env
Database_url را در پرونده .env اضافه کنید
DATABASE_URL="postgresql://admin:secret@localhost:5432/mydb?schema=public"
- مدیر: نام کاربری postgresql
- راز: رمز عبور postgresql
- LocalHost: میزبان سرور DB
- 5432: درگاه پیش فرض PostgreSQL
- MYDB: نام پایگاه داده
- طرح = عمومی: طرحواره پیش فرض در postgresql
مرحله 6: طرحواره Prisma خود را تعریف کنید
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
createdAt DateTime @default(now())
}
مرحله 7: مشتری PRISMA را مهاجرت و تولید کنید
npx prisma migrate dev --name init
npx prisma generate
–
Migrate Dev پرونده های مهاجرت را ایجاد می کند و DB را به روز می کند
تولید مشتری Prisma برای پرس و جو ایجاد می کند
مرحله 8: اتصال پایگاه داده را آزمایش کنید
بیایید یک اسکریپت سریع بنویسیم تا از همه چیز همانطور که انتظار می رود اطمینان حاصل شود.
یک پرونده script.js ایجاد کنید:
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();
async function main() {
const user = await prisma.user.create({
data: {
email: 'abc@example.com',
name: 'Tushar',
},
});
console.log('User created:', user);
const allUsers = await prisma.user.findMany();
console.log('All users:', allUsers);
}
main()
.catch(e => {
console.error(e);
process.exit(1);
})
.finally(async () => {
await prisma.$disconnect();
});
فیلمنامه را اجرا کنید
node script.js
شما باید چیزی مانند:
User created: { id: 1, email: 'abc@example.com', name: 'Tushar', createdAt: 2025-05-18T... }
All users: [ { id: 1, email: 'abc@example.com', name: 'Tushar', createdAt: 2025-05-18T... } ]
تبریک می گویم! شما Node.js را با موفقیت به یک پایگاه داده PostgreSQL متصل کرده اید که در داخل یک ظرف Docker با استفاده از PRISMA کار می کند.