Larevel Migration Nedir? Nasıl Kullanılır?

Laravel ile ilgili yazılar hazırlamaya başlamıştım ,yaklaşık 15 adet yazıdan oluşacak bu seri umarım güzel bir bilgi kaynağı olacaktır.

Veritabanları php projelerin olmazsa olmazlarındandır.Düz php ile yazılımlar geliştirirken veritabanını phpmyadmin yardımıyla oluşturup kullanımlar için ise dışarı aktarırdık.

Laravel ve Migration yapısı olan frameworklerde ise bu olay php dosyaları üzerinden sorgular çalıştırılarak gerçekleştiriliyor.Bu da kurulum ve olası hatalara karşı bir nevi çözüm demek.

Migration kullanmak ,teslim ettiğiniz yazılımın kurulumunu oldukça kolaylaştıracaktır.

Laravelde migration oluşturmak için kullanılan komut make:migration ,şimdi diyeceksiniz neden böyle şeylerle uğraşıyoruz.Composer ve artisanı bizim amelemiz gibi düşünün.Tek tek girip çıkmak zor iş olsa gerek ve veritabanı yapısının düzenlenmeside oldukça zor..

Basit bir migration oluşturmak için aşağıdaki kodu kullanabiliriz ,bu kod arabalar adında migration oluşturcaktır.

php artisan make:migration create_arabalar_table

Oluşturulan migration dosyası database/migrations içerisinde bulunmaktadır.

Yukarıda belirttiğim gibi ,migration bir nevi sorguları php dosyasının içerisinde çalıştırmak.

Oluşturduğumuz migration dosyasını açalım ,içerisinde iki tane public function tanımlanmış olacak.Bunlardan ilki public function up genellikle yeni veriler eklemek amacıyla kullanılır.İkinci ise public function down tabloların kaldırılması ,boşaltılması gibi amaçlarla kullanılır.

Bizim yapacağımız migration da public function up aşağıdaki şekilde olacak.

public function up()
{
Schema::create('arabalar', function (Blueprint $tablo) {
$tablo->string('araba_id');
$table->string('araba_ad');
$table->string('araba_model');

});
}

Umarım kafanızda kabaca bir taslak oluşturmuştur.Gelelim migrationları çalıştırmaya..

php artisan migrate

Komutunu artisana vermemiz yeterli olacaktır.

Son olarak tablo adı değiştirmeyi ve tablo silmeyi göstermek istiyorum.

Schema::drop('arabalar');

Bu kod ile arabalar tablosunu siliyoruz.Droptan anladığınız gibi.

Schema::rename($eski ,$yeni);

Değişkenlere atadığımız verilerle rename kullanarak tablo isimleri değiştirebiliriz.

Olay kısaca budur arkadaşlar ,daha detaylı bilgi sahibi olmak için laravel dökümantasyonunu inceleyebilirsiniz.