ترحيلات مخطط قاعدة البيانات
أدر التغييرات في مخطط قاعدة بياناتك باستخدام Prisma Migrate لتيسير التطوير والنشر
ترحيلات مخطط قاعدة البيانات درس مجاني في Next.js 15 Fullstack (App Router + Server Actions) على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Next.js 15 Fullstack (App Router + Server Actions)، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Next.js 15 Fullstack (App Router + Server Actions) 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
What are Database Migrations?
As your application evolves, so does its database structure, also known as its schema.
Database migrations are like version control for your database schema. They are a way to manage changes to your database structure in a controlled and trackable manner.
- They ensure your database matches your application's needs.
- They prevent data loss during schema changes.
- They provide a clear history of all schema modifications.
Why Use Prisma Migrate?
Managing database schema changes manually can be complex and error-prone. Prisma Migrate simplifies this process significantly.
- Automatic Generation: It generates SQL migration files based on changes in your Prisma schema.
- History Tracking: It keeps a history of applied migrations, making rollbacks and team collaboration easier.
- Environment Consistency: Ensures your development, staging, and production databases all have the correct schema.
Your Prisma Schema File
Prisma Migrate uses your schema.prisma file as the source of truth for your database schema. Any changes you want to make to your database structure start here.
Let's recall a basic schema.prisma setup:
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
name String
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean @default(false)
author User @relation(fields: [authorId], references: [id])
authorId Int
}Initializing Your First Migration
When you first set up your Prisma schema, you'll want to create an initial migration to apply this schema to your database. You use the prisma migrate dev command for this.
This command does two main things:
- Generates a new migration file (SQL) in the
prisma/migrationsfolder. - Applies the migration to your database.
npx prisma migrate dev --name initial_setupUnderstanding Migration Files
After running npx prisma migrate dev, Prisma creates a new folder inside prisma/migrations with a timestamp and the name you provided (e.g., 20231026123456_initial_setup).
Inside this folder, you'll find:
migration.sql: This file contains the raw SQL commands generated by Prisma to create or alter your database tables.migration.jsormigration.ts: (If using TypeScript/JavaScript) Metadata about the migration.
It's important to commit these files to your version control system!
Making Schema Changes
Now, let's say you want to add an email field to your User model. You simply update your schema.prisma file.
Prisma will detect this change and help you generate a new migration.
model User {
id Int @id @default(autoincrement())
name String
email String @unique // Added new field
posts Post[]
}Generating a New Migration
After modifying your schema.prisma, run npx prisma migrate dev again. Prisma will compare your updated schema with the current database state and generate a new migration file.
It will then apply this new migration, adding the email column to your User table.
npx prisma migrate dev --name add_user_emailApplying Migrations in Production
For production environments, you typically use npx prisma migrate deploy. This command applies all pending migrations that have not yet been run on the database.
Unlike migrate dev, deploy does not generate new migration files; it only applies existing ones. This makes it safe and predictable for production deployments.
npx prisma migrate deployChecking Migration Status
To see which migrations have been applied to your database and which are pending, you can use the npx prisma migrate status command.
This is useful for debugging or ensuring your database is up-to-date with your application's expected schema.
npx prisma migrate statusPrisma Migrate Commands Quiz
Which of the following statements correctly describe the purpose of Prisma Migrate commands?
Recap: Schema Migrations
Great job! You've learned how to manage your database schema effectively using Prisma Migrate.
- Prisma Migrate helps version control your database schema.
- You define schema changes in
schema.prisma. npx prisma migrate devcreates and applies migrations in development.npx prisma migrate deployapplies existing migrations in production.npx prisma migrate statuschecks the current migration state.
This powerful tool ensures your database structure stays consistent and aligned with your application's needs as it grows.
الأسئلة الشائعة
هل درس «ترحيلات مخطط قاعدة البيانات» مجاني؟
نعم — نص درس «ترحيلات مخطط قاعدة البيانات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Next.js 15 Fullstack (App Router + Server Actions)، انتقل إلى CoddyKit PRO. تتضمن دورة Next.js 15 Fullstack (App Router + Server Actions) 4 دروس في المجموع.
ماذا ستتعلم في «ترحيلات مخطط قاعدة البيانات»؟
أدر التغييرات في مخطط قاعدة بياناتك باستخدام Prisma Migrate لتيسير التطوير والنشر تتمرن على Next.js 15 Fullstack (App Router + Server Actions) مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Next.js 15 Fullstack (App Router + Server Actions)؟
لا تُشترط خبرة سابقة. Next.js 15 Fullstack (App Router + Server Actions) على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «ترحيلات مخطط قاعدة البيانات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Next.js 15 Fullstack (App Router + Server Actions) هذا؟
نعم. كل درس في Next.js 15 Fullstack (App Router + Server Actions) يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إعداد Prisma ORM
- عمليات CRUD باستخدام Server Actions
- ترحيلات مخطط قاعدة البيانات
- تهيئة قاعدة البيانات وتجميع الاتصالات