Kaptain Kitty
انتشار :۲۴ دی ۱۳۹۳
بازدید :450 بار

اگر شما انحصارا با php برنامه نویسی می کنید، احتمالا تا به حال لذت migration که ابتدا توسط فریم ورک Ruby on Rail محبوب شد را تجربه نکرده اید.

می توان migration را به عنوان کنترل بر سازگاری دیتابیس با نسخه های مختلف (version control) در نظر گرفت. چه اتفاقی خواهد افتاد اگر یک روز بعد از افزودن جدول tasks بفهمید که اصلا به این جدول نبوده است؟ آن را به صورت دستی حذف می کنید، درست است؟ اما برنامه نویسان دیگری که در تیم شما کار می کنند چطور؟ اگر به آنها اطلاع ندهید کد های آن ها به هم می ریزد.

البته ما با استفاده از migration می توانیم به migration قبلی بازگشته و به بقیه ی کار خود ادامه دهیم. بهتر از آن این است که هنگام اعمال تغییرات بر سرور، یک فرمان php artisan migrate  به صورت خودکار دیتابیس محصول شما را آپدیت خواهد کرد. این امر هنگام ترکیب با Schema Builder در فریم ورک Laravel باعث می شود که فرآیند مدیریت دیتابیس تا حد امکان تسهیل می کند.

میخواهیم یک migration ایجاد کرده و به جدول users در دیتابیس خود اضافه کنیم. خط فرمان زیر را در نظر بگیرید:

[codesyntax lang=”php”]

php artisan migration:make create_users_table --table=users –create

[/codesyntax]

در تکه کد بالا ما نام جدول و همچنین flag مربوط به  –create را مشخص نمودیم تا نشان دهیم که می خواهیم یک جدول جدید ایجاد کنیم نه اینکه به اصلاح یکی از جداول فعلی بپردازیم.

این فرمان یک فایل migration جدید را در اپلیکیشن ما ایجاد خواهد کرد. سپس می توانیم از کلاس Schema در فریم ورک Laravel (لاراول) استفاده کرده تا شمای جدول خود را تهیه کنیم.

[codesyntax lang=”php”]

<?php
 
use Illuminate\Database\Migrations\Migration;
 
class CreateTasksTable extends Migration {
    /**
     * Run the migrations.
     */
    public function up()
    {
        Schema::create('tasks', function($table)
        {
            $table->increments('id');
            $table->string('title');
        });
    }
 
    /**
     * Reverse the migrations.
     */
    public function down()
    {
        Schema::drop('tasks');
    }
}

[/codesyntax]

همانطور که می بینید این کلاس دو متد up و down را ارائه می دهد که مشخص می کند فریم ورک Laravel در زمان اجرای migration و یا بازگرداندن یک migration به حالت قبلی، چه اقدامی انجام دهد.

در این مورد در up() یک جدول جدید به نام tasks  ایجاد کرده و به ترتیب دو فیلد id و title را برای آن task مشخص می کنیم. هنگام بازگرداندن migration به حالت قبلی خود، فقط کافیست جدول را حذف کنیم.

از طریق بازگشت به Terminal و تایپ کردن کد زیر، migration را انجام دهید:

[codesyntax lang=”php”]

php artisan migrate

[/codesyntax]

انجام شد. حالا شما یک جدول  tasks جدید با دو فیلد دارید. می خواهید به حالت قبل بازگردید؟ به سادگی کد زیر را اجرا کنید:

[codesyntax lang=”php”]

php artisan migrate:rollback

[/codesyntax]

 

برچسب‌ها, , , , ,

مطالب مرتبط

در این قسمت بیشتر می خواهیم زبان برنامه نویسی PHP را بررسی کنیم و ببینیم که غیر از تعربف و تمجید های تکراری که در تمام وبسایت ها شاهد آن هستیم، چه نقاط ضعفی هم دارد. مقایسه ی PHP + Apache Stack و پلت فرم Node.js مقایسه ی این دو مانند مقایسه ی سیب و پرتقال است. […]

در چهار قسمت قبلی نکات و موارد بسیاری را در رابطه با فریم ورک محبوب و قدرتمند لاراول (Laravel) برای php کار ها عنوان کردیم. این قسمت پنجمین و آخرین قسمت از بررسی فریم ورک laravel است . امیدواریم با مطالعه ی این مقالات و کسب دانش پایه و آگاهی از نکات ضعف و قوت فریم […]

حتما در قسمت های گذشته ی این مبحث با نکات قوت فریم ورک محبوب لاراول آشنا شده اید. پیشنهاد می شود ابتدا قسمت های گذشته را مطالعه کنید تا بطور کامل با فریم ورک laravel آشنا شوید. در این مقاله هم می خواهیم با تعدادی دیگر از امکانات این فریم ورک فوق العاده آشنا شویم. […]

در قسمت های گذشته مطالبی در مورد امکانات فوق العاده ی فریم ورک لاراول مشاهده و مطالعه کردید. در این قسمت هم میخواهیم به تعدادی دیگر از امکانات مورد نظر در فریم ورک لاراول بپردازیم و شما را با بخشی دیگر از این فریم ورک فوق العاده عالی آشنا کنیم. پیشنهاد میکنیم قبل از مطالعه […]

نظراتتان را برایمان بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطالب ما تو این شبکه های اجتماعی هم پخش میشه