بخش اول - تعریف و اجرای 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
.