محمد میرزاخانی
3 سال پیش توسط محمد میرزاخانی مطرح شد
6 پاسخ

قواعد نامگذاری migration

سلام و عرض احترام خدمت همه
ی سوال داشتم موقع ایجاد تغییر در ماگریشنی به فرض مثال به نام posts نام اون ماگریشنی که داخلش تغییرات جدول posts را ایجاد انجام میدیم باید از الگوی خاصی پیروی کنه؟یا نه فقط مهمه بسازیمش حالا با هر نامی؟یا مثلا اگه قرار باشه ی ستونی به جدول اضافه کنیم لازمه حتما اولش add بزاریم؟؟ کلا ی توضیحی در مورد قانون های نامگذاری migration ها بدید دوستان ممنون میشم..


ثبت پرسش جدید
علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 3 سال پیش مطرح شد
-3

سلام
درباره قواعد :
برای ایجاد جدول : create_name_table
برای ایجاد و تغییرات در جدول (به عنوان مثال اضافه کردن یک فیلد به جدول) : add_new_field_to_name_table
تغییر یک فیلد در جدول : change_column_from_name

نکته : name = نام جدول

و همچنین ممنون میشوم بهترین پاسخ را انتخاب کنید


محمد میرزاخانی
@mirzamohammad.com 3 سال پیش مطرح شد
0

@gomnam
بعد حتما اینجور نامگذاری مهمه یا نه فقط متد های داخلش مهمه؟
و اگه بخایم چند بار این کار را انجام بدیم مثلا بعد یک بار add کردن بخایم بازم ستون add کنیم چجوری باید نامگذاری کنیم؟؟


علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 3 سال پیش آپدیت شد
0

نه اجباری نیست ، ولی خودتون امتحان کنید مثلا یک فایل با createnametable ایجاد کنید و یک فایل بدون این قاعده تغییرش را متوجه می شوید .
در مورد سوال دوم هم اطلاعی ندارم .


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
2

نه دوست عزیز نام فایل هیچ اهمیتی نداره و تاثیری در اجرای کدهای شما نمیذاره. تنها تاثیری که داره در ترتیب بندی اجرا کردنشون هست. به همین خاطر اگر دقت کنید خود لاراول بصورت اتومات یک 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-- هم دقت کنید که در خروجی فایلی که میسازه تاثیرگذار هست.


محمد میرزاخانی
@mirzamohammad.com 3 سال پیش مطرح شد
0

@mhyeganeh
خیلی ممنون از توضیحاتتون🙏🙏


علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 3 سال پیش آپدیت شد
0

@mhyeganeh
درست هست که تاثیری در اجرا نمی گذاره ولی قواعدش به این صورت هست . مثلا اگه شما نامش رو برابر با jkntkjdgnvmgtkrjbm بگذارید یا اینکه createjkntkjdgnvmgtkrjbm table در اول کار خروجی بهتری میده مثلا نام جدول رو خودش تنظیم میکنه و تایم استمپ ها و id رو هم برامون میاره .
ولی در حالت عادی این کار رو نمیکنه .
پس میتونیم نتیجه بگیریم که این ها صرفا قواعد هستند که بهتر هست ازشون پیروی کنیم


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام