سلام و عرض احترام خدمت همه
ی سوال داشتم موقع ایجاد تغییر در ماگریشنی به فرض مثال به نام posts نام اون ماگریشنی که داخلش تغییرات جدول posts را ایجاد انجام میدیم باید از الگوی خاصی پیروی کنه؟یا نه فقط مهمه بسازیمش حالا با هر نامی؟یا مثلا اگه قرار باشه ی ستونی به جدول اضافه کنیم لازمه حتما اولش add بزاریم؟؟ کلا ی توضیحی در مورد قانون های نامگذاری migration ها بدید دوستان ممنون میشم..
@gomnam
بعد حتما اینجور نامگذاری مهمه یا نه فقط متد های داخلش مهمه؟
و اگه بخایم چند بار این کار را انجام بدیم مثلا بعد یک بار add کردن بخایم بازم ستون add کنیم چجوری باید نامگذاری کنیم؟؟
شاید پاسخ شما همینجا باشد
نه دوست عزیز نام فایل هیچ اهمیتی نداره و تاثیری در اجرای کدهای شما نمیذاره. تنها تاثیری که داره در ترتیب بندی اجرا کردنشون هست. به همین خاطر اگر دقت کنید خود لاراول بصورت اتومات یک timestamp به اول اسم فایل ها اضافه میکنه تا ترتیبشون همیشه درست باشه. (ولی اگر به هر دلیلی میخواستید یک مایگریشن زودتر یا دیرتر اجرا بشه کافیه همین تاریخش رو عوض کنید تا در جایگاه درست قرار بگیره)
حالا گرچه اسم فایل ها تاثیر خاص دیگری غیر از این موضوع در اجراشون نداره اما خوب Best Practice هایی وجود داره که حتی المقدور سعی کنید ازشون پیروی کنید تا هم خودتون در آینده و هم احیانا هم تیمی های دیگه و ... راحت بتونند بفهمند هدفتون از ایجاد این مایگریشن چی بوده.
مثلا اگر جدول جدیدی دارید ایجاد میکنید الگوش میشه اینجوری:
php artisan make:migration create_posts_table --create=posts
اگر هم فیلدی اضافه میکنید مثلا میشه اینجوری:
php artisan make:migration add_view_count_column_to_posts_table --table=posts
ضمنا به تفاوت create-- و table-- هم دقت کنید که در خروجی فایلی که میسازه تاثیرگذار هست.
@mhyeganeh
خیلی ممنون از توضیحاتتون🙏🙏
@mhyeganeh
درست هست که تاثیری در اجرا نمی گذاره ولی قواعدش به این صورت هست . مثلا اگه شما نامش رو برابر با jkntkjdgnvmgtkrjbm بگذارید یا اینکه createjkntkjdgnvmgtkrjbm table در اول کار خروجی بهتری میده مثلا نام جدول رو خودش تنظیم میکنه و تایم استمپ ها و id رو هم برامون میاره .
ولی در حالت عادی این کار رو نمیکنه .
پس میتونیم نتیجه بگیریم که این ها صرفا قواعد هستند که بهتر هست ازشون پیروی کنیم