کتاب آموزش برنامه نویسی Ext JS
برای اولین بار در ایران
Ext JS
در مورد Ext JS بیشتر بدانید
خرید کتاب
مهاجرت یا Migration در فریم ورک لاراول
دسته بندی ها :فریم ورک Laravel
۲۴ دی ۱۳۹۳
521 بازدید

اگر شما انحصارا با 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]

 




نظراتتان را با ما در میان بگذارید

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