مهاجرت بانک اطلاعاتی

[font="Tahoma"][rtl]با سلام و خسته نباشید خدمت اساتید محترم.

من کتاب راهنمای yii نسخه دوم رو مطالعه کردم

متاسفانه در مورد مهاجرت بانک اطلاعاتی که یکی از مباحث پرکاربرد هستش خیلی کم توضیح داده شده.

مثلا در وسط پروژه من یه فیلد اضافه یا کم میکنم در جداولم

چطور اینتغییرات رو در yii انجام بدم که دچار مشکل نشم[/rtl]

[/font]




1. Tim creates a new migration (e.g. create a new table)

2. Tim commits the new migration into source control system (e.g. SVN, GIT)

3. Doug updates from source control system and receives the new migration

4. Doug applies the migration to his local development database



[font="Tahoma"]

این کدها رو بی زحمت یکی هستش با مثال توضیح بدن

[/font]

[right][rtl][/right][right]

[font="Tahoma"][size="2"]سلام[/size][/font][/right][font="Tahoma"][size="2"]Migration دو تا کاربرد اصلی داره که یکی همینی هست که شما پرسیدی. کاربرد اولش توی پروژه های تیمی هست که معمولا تمام اعضا باید از سیستم های version control مثل git و svn و … استفاده کنند. یعنی مثلا فرض کنید شما توی یک تیم چند نفره دارید کار میکنید و هر کس یک نسخه از کد php و دیتابیس روی کامپیوترش داره در این حالت اگر شما تغییری در دیتابیس بدید سوالی که پیش میاد اینکه بقیه اعضای گروه چجوری باید تغییرات شما رو متوجه بشن. برای حل این مشکل شما تغییراتی که میخوای بدی رو به صورت یک یا چند migration مینوسی و بعد اجراش میکنی. حالا این migration و تغییرات دیگه ای که ممکنه داشته باشی رو میذاری روی مثلا git تا بقیه اعضا از روی اون بردارن. حالا کافیه هر کس دستور yiic migrate رو اجرا کنه تا دیتابیسش با مال شما یکی بشه و یه وقت جایی به error نخوره[/size][/font]

[font="Tahoma"][size="2"]کاربرد دومش هم اینکه شما میتونید یک سابقه از تغییرات دیتابیس داشته باشید تا هر وقت خواستید مثلا برگردید به 3تا نسخه قبل و …[/size][/font]

[font="Tahoma"][size="2"]در کل مزیت های migration موقعی بیشتر به چشم میاد که پروژه تیمی باشه[/size][/font]

[right][/rtl][/right]

[font="Tahoma"][rtl]ممنون از راهنمایی

حالا می تونید آموزش این میگریشن و جیت رو اگه فارسی باشه خیلی خوبه اگه نبود مقالات انگلیسیش جایی هست من مراجعه کنم

چطور میتونم با این کار کنم

[/rtl][/font]

[right][rtl][/right][right][font="Tahoma"]برای migration (مایگریشن) مستندات خود فریم ورک هست:[/font][/right][right][font="Tahoma"]http://www.yiiframew…abase.migration[/font][/right][right] [/right][right] [/right][right][font="Tahoma"]برای git (گیت) هم سایت github آموزشهای خوبی داره حتی یک نرم افزار مخصوص کار با git هم داره (البته نرم افزارهای دیگه ای هم هست)[/font][/right][right][font="Tahoma"]https://help.github.com/[/font][/right][right][/rtl][/right]