TGViewer
| کانال توسعه‌دهندگان لاراول | | کانال توسعه‌دهندگان لاراول | @developixlaravel · 1.54K subscribers
Post #130 1K
فصل پنج - Migrations and Database

بخش اول - تعریف
و اجرای Migrationها

در قسمت آخر این بخش به تمامی کامندهای مربوط به مایگریشن ها اشاره می شود.

1- کامند make:migration
این دستور برای ایجاد یک فایل Migration جدید استفاده می‌شود.
php artisan make:migration create_flights_table


این کامند می تواند دو فلگ —create برای مایگریشن مربوط به ساخت جدول و —table برای مایگریشن های مربوط به ویرایش جدول را نیز دریافت کند.
php artisan make:migration create_flights_table
--create=flights

php artisan make:migration create_flights_table
--table=flights


2- کامند schema:dump
این دستور یک نسخه SQL dump از طرح پایگاه داده (schema) فعلی شما ایجاد می‌کند. این فایل در مسیر database/schema ذخیره می‌شود.
php artisan schema:dump


این متد نیز تعدادی فلگ دریافت میکند که در ادامه توضیح داده می شود:
- فلگ prune
فایل‌های مهاجرت قدیمی (migration) را حذف می‌کند و تنها یک نسخه dump ایجاد می‌کند.
php artisan schema:dump --prune


- فلگ database
این دستور نسخه SQL از طرح پایگاه داده را برای پایگاه داده مشخص‌شده ایجاد می‌کند.
php artisan schema:dump --database=testing


همچنین می توانید هر دو فلگ را همزمان استفاده کنید.

3- کامند migrate
این دستور تمامی فایل‌های مهاجرت را که تاکنون اجرا نشده‌اند، اجرا می‌کند و پایگاه داده را به‌روز می‌کند.
php artisan migrate


این کامند نیز تعدادی فلگ دریافت میکند:
- فلگ pretend
این دستور تغییرات مهاجرت را بدون اعمال واقعی، شبیه‌سازی می‌کند. می‌توانید ببینید چه کوئری‌هایی قرار است اجرا شوند.

- فلگ isolated
این دستور مهاجرت‌ها را در یک حالت ایزوله‌شده (isolated) اجرا می‌کند. این حالت معمولاً برای جلوگیری از تداخل مهاجرت‌ها در اجراهای هم‌زمان استفاده می‌شود.
php artisan migrate --isolated


- فلگ force
این دستور برای اجرای مهاجرت‌ها در حالت Production (محیط عملیاتی) استفاده می‌شود. به‌طور پیش‌فرض، مهاجرت‌ها در Production متوقف می‌شوند، اما با --force اجرا خواهند شد.

4- کامند migrate:status
این دستور وضعیت مهاجرت‌ها را نشان می‌دهد. مشخص می‌کند که کدام فایل‌های مهاجرت اجرا شده‌اند و کدام هنوز اجرا نشده‌اند.
php artisan migrate:status


5- کامند migrate:rollback
این دستور آخرین گروه از مهاجرت‌ها (آخرین batch) را برمی‌گرداند.

این کامند نیز تعدادی فلگ دریافت می کند که در ادامه بررسی می شود:
- فلگ step
این دستور x مرحله از آخرین مهاجرت‌ها را برمی‌گرداند.
php artisan migrate:rollback --step=5


- فلگ batch
این دستور مهاجرت‌های batch شماره ۳ را برمی‌گرداند.
مهاجرت‌ها در اجرای هر بار migrate در یک batch مشخص ذخیره می‌شوند.
php artisan migrate:rollback --batch=3


- فلگ pretend
این دستور مهاجرت‌ها را برنمی‌گرداند، اما تغییرات آن را شبیه‌سازی کرده و کوئری‌های مربوطه را نمایش می‌دهد.
php artisan migrate:rollback --pretend


6- کامند migrate:reset
این دستور همه مهاجرت‌ها را به حالت اول برمی‌گرداند.
تمامی جداول و تغییرات اعمال‌شده حذف می‌شوند.
php artisan migrate:reset


7- کامند migrate:refresh
این دستور ابتدا تمامی مهاجرت‌ها را برمی‌گرداند (reset می‌کند) و سپس آن‌ها را دوباره اجرا می‌کند.
php artisan migrate:refresh


این متد نیز فلگ هایی دریافت می کند:
- فلگ seed
این دستور همانند دستور قبل عمل می‌کند، اما علاوه بر آن، seederها را نیز اجرا می‌کند تا داده‌های اولیه وارد پایگاه داده شوند. (سیدر ها در بخش بعدی توضیح داده می شود)
php artisan migrate:refresh --seed


- فلگ step
این دستور x مرحله آخر مهاجرت‌ها را برمی‌گرداند و دوباره اجرا می‌کند.
php artisan migrate:refresh --step=5


8- کامند migrate:fresh
این دستور تمام جداول پایگاه داده را به‌طور کامل حذف می‌کند و سپس مهاجرت‌ها را دوباره اجرا می‌کند.
php artisan migrate:fresh


این متد هم فلگ هایی را دریافت می کند:
- فلگ seed
این دستور همانند migrate:fresh عمل می‌کند، اما پس از اجرای مهاجرت‌ها، seederها را نیز اجرا می‌کند.
php artisan migrate:fresh --seed


- فلگ database
این دستور نسخه پایگاه داده خاص را از ابتدا می‌سازد.
php artisan migrate:fresh --database=admin


🔖 #Laravel, #PHP, #فصل_۵, #لاراول

👤 AmirHossein

💎 Channel: @DevelopixLaravel
  • ❤ 4
  • 👍 1
More from @developixlaravel
  1. Oct 1, 2026روابط پایگاه داده چند ریختی یا Eloquent Polymorphic در لاراول - قسمت اول در لاراول، روابط…
  2. Sep 30, 2026مدیریت همزمانی و قفل‌گذاری روی پردازش‌ها در لاراول (Laravel Atomic Locks) در بخش چهارم از…
  3. Sep 26, 2026🔥 پکیج: ورود با حساب‌های دیگر؛ Socialite برای اضافه‌کردن ورود با حساب‌های دیگر به پروژه ل…
  4. Sep 25, 2026🔒 فقط داده‌های تأییدشده را ذخیره کن وقتی یک فرم ویرایش پروفایل داری، ممکن است کلاینت علاو…
  5. Sep 20, 2026حفاظت از پردازش ها با Laravel Rate Limiter بخش سوم - پیکربندی در قسمت سوم از مجموعه آموزش…
  6. Sep 16, 2026🚀 ‏LaraGram Brain منتشر شد! از این به بعد برای ساخت ربات‌های تلگرام با فریم‌ورک LaraG…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →