6 Mart 2013 Çarşamba

PHP Laravel Framework ile Versiyon Kontrolü

Neredeyse her zaman bir desktop ya da web uygulaması geliştirirken veritabanında ileriye dönük bazı değişiklikler yapmak gereksinimi duyarız.Profesyonel olarak yapılan basit değişikler genelde veritabanı için çok büyük bir problem teşkil etmezler.

Fakat uygulumanın çalışma sistemini ya da veritabanının yapısını değiştirecek partitioning , normalization , altering ya da constraints gibi değişiklikler ciddi bir versiyon kontrolü gerektirebilir.
Hatta hatta o an için mantıklı gelen basit bir değişikliğin ileride bir hataya sebep olduğunu ve bu hatanın hangi değişiklikten sonra ortaya çıktığını tespit etmek için de versiyon kontrolü yapmanın önemi yadsınamaz.

Bu sebeple bu yazımda php programlama dili üzerinde yaygın bir kullanımı olan Laravel framework ile versiyon kontrolünün nasıl yapılacağına değineceğim.






Laravel Framework'ün düzgün bir şekilde web server'ınıza kurulduğunu varsayıyor ve devam ediyorum.

Artisan adlı laravel uygulamasını çalıştırabilmek için unix tabanlı işletim sistemlerinde php'yi komut satırında kullanabilmek için bir path değişkeni yaratmanız gerekmiyor.Fakat windows üzerinde php'nin olduğu dizine bir path değişkeni yaratarak komut satırından çalışmasını sağlamak gerekiyor. Aksi halde artisan uygulaması çalışmayacaktır. nasıl yapacağınıza dair detaylı türkçe bilgiyi http://php.net/manual/tr/features.commandline.php adresinden öğrenebilirsiniz.


Yukarıdaki işlemi tamamladığınızda terminal penceremizi açıyoruz ve webserver altındaki laravelframework'ün kurulu olduğu dizine giriyoruz.

benim için bu dizin /library/WebServer/www/learning-laravel olduğundan

cd  /Library/WebServer/www/learning-laravel yazıyorum.



Dizin altında artisan isimli uygulamamızı görebiliyoruz. terminalden mysql'e giriş yapıp

create database LaravelTest; yazarak yeni bir veritabanı oluşturuyorum.

daha sonra laravel dizini içerisinden

php artisan migrate:install diyerek versiyonlama işlemini başlatıyoruz


show tables ile veritabanımızı kontrol ettiğimizde laravel_migrations diye bir tablonunun yaratıldığını görüyoruz.

php artisan migrate:make kullanici_tablosu_yarat ile ilk versiyonumuzu yaratılım.



Bu işlemi tamamladığımızda laravel dizinindeki migrations klasöründe yeni bir dosyanın yaratıldığını görebiliriz.





Otomatik olarak oluşturulan Kullanici_Tablosu_Yarat sınıf içerisinde up ve down adlı iki methodun olduğunu görüyoruz. up methodunu bu versiyonda yapılan eklemeler ve down methodunu da ise eski halini yazıyoruz.

Şuanda bir kullanıcı tablomuz olmadığından önce bunu yaratalım.

Laravel'in Schema adlı sınıfını kullanarak tablomuzu yaratıyoruz.





Şeklinde sınıfımızı değiştirerek up fonksiyonu altında kullanicilar tablomuzu oluşturuyor , down fonksiyonunda ise bu versiyondan önce kullanıcılar tablomuz olmadığından bu tabloyu siliyoruz.
Laravel'i basic seviyede bilen birisi için kodun çok anlaşılır olduğunu düşünüyorum sadece
$table->timestamps(); kısmına değineceğim bu method laravel'in kullandığı ve insanları kullanmaya teşvik ettiği ki kanımca gayet yararlı olan updated_at ve created_at ' sütunlarını tablomuza ekliyor.


komut satırına php artisan migrate yazarak ilk versiyonumuzdaki değişiklikleri hayata geçiriyoruz.



Değişiklerimizin başarıyla gerçekleştiğini kontrol edelim.

veritabanımızda describe kullanicilar yazarak tablomuzun başarıyla oluştuğunu görüyoruz.



peki yaptığımız değişikliği geri alabiliriz ?

çok basit php artisan migrate:rollback yazarak değişikliği geri alabiliriz.



İşlemin gerçekleştiğine bir de veritabanından bakalım



php artisan migrate ile tekrar tablomuzu oluşturalım.Diyelim ki kullanıcıların telefonlarını tutacak olan telefon  adında bir sütunu yeni versiyonda veritabanımıza eklemek istiyoruz.

php artisan migrate:make kullanici_tablosuna_telefon_ekle diyerek yeni bir versiyon yaratıyoruz



Yeni versiyonumuzun up ve down fonksiyonlarını aşağıdaki şekilde düzenleyelim.



yaptığımız değişikliği veritabanından kontrol edelim.




evet telefon sütunumuzun yaratıldığını görebiliyoruz.



Böylece temel seviyede PHP Laravel Framework üzerinde nasıl versiyon kontrolü yapıldığını öğrendik.

Aklınıza takılan herhangi bir soru için rodrane@gmail.com adresine email atmaktan çekinmeyin.

Başka bir yazıda görüşmek üzere şimdilik hoşçakalın.

Hiç yorum yok:

Yorum Gönder