سلام و عرض احترام خدمت همه
ی سوال داشتم موقع ایجاد تغییر در ماگریشنی به فرض مثال به نام posts نام اون ماگریشنی که داخلش تغییرات جدول posts را ایجاد انجام میدیم باید از الگوی خاصی پیروی کنه؟یا نه فقط مهمه بسازیمش حالا با هر نامی؟یا مثلا اگه قرار باشه ی ستونی به جدول اضافه کنیم لازمه حتما اولش add بزاریم؟؟ کلا ی توضیحی در مورد قانون های نامگذاری migration ها بدید دوستان ممنون میشم..
سلام
درباره قواعد :
برای ایجاد جدول : create_name_table
برای ایجاد و تغییرات در جدول (به عنوان مثال اضافه کردن یک فیلد به جدول) : add_new_field_to_name_table
تغییر یک فیلد در جدول : change_column_from_name
نکته : name = نام جدول
و همچنین ممنون میشوم بهترین پاسخ را انتخاب کنید
@gomnam
بعد حتما اینجور نامگذاری مهمه یا نه فقط متد های داخلش مهمه؟
و اگه بخایم چند بار این کار را انجام بدیم مثلا بعد یک بار add کردن بخایم بازم ستون add کنیم چجوری باید نامگذاری کنیم؟؟
نه اجباری نیست ، ولی خودتون امتحان کنید مثلا یک فایل با createnametable ایجاد کنید و یک فایل بدون این قاعده تغییرش را متوجه می شوید .
در مورد سوال دوم هم اطلاعی ندارم .
نه دوست عزیز نام فایل هیچ اهمیتی نداره و تاثیری در اجرای کدهای شما نمیذاره. تنها تاثیری که داره در ترتیب بندی اجرا کردنشون هست. به همین خاطر اگر دقت کنید خود لاراول بصورت اتومات یک 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
درست هست که تاثیری در اجرا نمی گذاره ولی قواعدش به این صورت هست . مثلا اگه شما نامش رو برابر با jkntkjdgnvmgtkrjbm بگذارید یا اینکه createjkntkjdgnvmgtkrjbm table در اول کار خروجی بهتری میده مثلا نام جدول رو خودش تنظیم میکنه و تایم استمپ ها و id رو هم برامون میاره .
ولی در حالت عادی این کار رو نمیکنه .
پس میتونیم نتیجه بگیریم که این ها صرفا قواعد هستند که بهتر هست ازشون پیروی کنیم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟