مایگریشن ها
در Doravel انتشار migration ها فقط یک vendor:publish ساده نیست.
هر Feature فایل های Migration خودش را در یک رجیستری مرکزی ثبت می کند تا براساس تنظیمات پروژه، فقط migration های لازم منتشر شوند.
قواعد عمومی migration مثل naming، review، rollback، data conversion و production safety در Dornica Handbook نگهداری میشوند. این صفحه فقط رفتار اختصاصی Doravel برای ثبت، فیلتر و انتشار migrationها را توضیح میدهد.
Migration Registry چیست؟
MigrationRegistry یک رجیستری مرکزی است که هر ماژول، migration stub های خود را داخل آن ثبت می کند:
- نام ماژول (مثل
authenticationیاfile-manager) - مسیر stub ها
- لیست migration ها
priorityبرای ترتیب انتشار
این رجیستری باعث می شود Doravel بتواند migration ها را:
- ماژولار
- قابل فیلتر
- قابل همگام سازی
- و قابل کنترل با config
منتشر کند.
دستور اصلی انتشار migration
php artisan dornica:publish-migrations
این دستور migration های ثبت شده در رجیستری را در مسیر database/migrations منتشر می کند.
گزینه های دستور
نمایش ماژول های قابل انتشار
php artisan dornica:publish-migrations --list
خروجی شامل نام ماژول ها، priority و تعداد migration هر ماژول است.
مشاهده برنامه انتشار بدون تغییر فایل ها
php artisan dornica:publish-migrations --dry-run
این حالت فقط برنامه اجرا را نشان می دهد و هیچ فایلی در database/migrations ایجاد/حذف/ویرایش نمی شود.
انتشار فقط ماژول های خاص
php artisan dornica:publish-migrations --module=authentication --module=authorization
جایگزینی کامل فایل های موجود
php artisan dornica:publish-migrations --force
اگر migration همنام از قبل وجود داشته باشد، حذف و فایل جدید ساخته می شود.
همگام سازی محتوای migration های موجود
php artisan dornica:publish-migrations --sync
در حالت sync:
- اگر فایل همنام وجود نداشته باشد، فایل جدید ساخته می شود.
- اگر وجود داشته باشد و محتوا یکسان باشد، skip می شود.
- اگر وجود داشته باشد و محتوا متفاوت باشد، همان فایل موجود بروزرسانی می شود.
ترکیب گزینه ها
php artisan dornica:publish-migrations --module=core --sync
php artisan dornica:publish-migrations --module=core --sync --dry-run