TGViewer
| AmirHossein | | AmirHossein | @amirhdeveloper · 611 subscribers
Post #350 264
فصل پنج - 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 #لاراول #فصل_۵
@AmirhDeveloper
.
  • 🔥 7
  • ❤ 1
More from @amirhdeveloper
  1. Sep 30, 2026پکیج LaraGram Sentinel منتشر شد؛ یک پنل مانیتورینگ که هیچ چیزی از زیر دستش در نمی‌ره! تمام…
  2. Sep 23, 2026از امروز با کاهش شدید حاکرها مواجه میشیم
  3. Sep 19, 2026🔴 سوال سوم دو Region دارید: US-East و EU-West. کاربران در هر دو Region هستند. سیستم باید…
  4. Sep 19, 2026🟠 سوال دوم فرض کنید Service A به Service B درخواست می‌زند. B به‌دلیل overload، latency با…
  5. Sep 19, 2026🟢 سوال اول فرض کنید یک سرویس backend داریم که به PostgreSQL وصل می‌شود. تعداد requestها ن…
  6. Sep 19, 2026خیلی وقته پست‌های کانال فقط درمورد LaraGram بوده، وقتشه یکم جالب‌ترش کنیم اگر ممبرها هنوز…
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 →