RoR [05 – Database]

Veritabanı Konfigürasyonu

Tüm Rails uygulamaları bir veritabanı kullanmaktadır. Kullanılacak bu veritabanı config/database.yml dosyasında tarif edilmektedir.

1. SQLite3 Veritabanı Konfigürasyonu

Yeni bir Rails uygulaması oluşturduğunuzda default olarak SQLite3 veritabanı ile karşılaşırsınız.

SQLite3 ile çalışacaksak config/database.yml içine;

bilgilerini ekleriz.

2. MySQL Veritabanı Konfigürasyonu

MySQL veritabanı kullanmak isterseniz config/database.yml içine;

bilgilerini eklemeniz gereklidir.

Bilgilerde degisiklik yaptiysaniz ;

  • Veritabanı konfigürasyonlarını tamamladıktan sonra Rails’ in boş bir veritabanı üretmesini sağlamamız gerekli. Bunun için konsoldan;

komutunu veriyoruz. Bu komut bize db/ klasörü altında geliştirme ve test veritabanları oluşturuyor.

 

default olarak [SQLite3] devam edecegiz ;

arrow Veritabanina Tablo eklemek icin ;

  • string degiskenimiz kucuk metinler icin [basliklar gibi]
  • text not seklindeki metinler icin [uzun metinler]
  • date tarih isleyebiliriz.

Orneginde bir tablo olusturdugumuzda rails bizim icin resimde gordugunuz dosyalari olusturacaktir [1].

rubydatabase

db/migrate/xxxxxxxxxxxxxxxxx_create_tasks.rb

Bu dosyaya migration[Göç] dosyalari denmektedir. Migrations yürütme üzerine veritabanının şemasını değiştiren dosyalardir.

app/models/tweets.rb

Bu model dosyasidir. Modeller kalıcı nesneleri tanımlayan sınıflardır.  Bu özel dosya bizim tweets modelini tanımlar.

arrow Veritabaninda deneme yapmak icin rails konsola baglaniyoruz;

komutlarini kullanabiliriz.Veritabanina baglandigimiz zaman karsimiza soyle [2] bir ekran cikacaktir;

rubyonrails

> Denemelere veritabanimizi tamamen kurduktan sonra basliyacagiz.

Tarayicimizdan sayfamizi tekrar yukledigimizde [localhost:3000] karsimiza boyle bir ekran gelecektir [3] ;

railsdatabase
Bunun sebebi model migrationimizi olusturduk fakat onaylamadik.

Tekrar konsolumuza donuyoruz eger Veritabanina bagliysak

[rails language=”c”][/rails]


yazip cikiyoruz.

komutunu giriyoruz [4] .

> RAILS_ENV=development metodu default oldugu icin yazmasakta olur.

ror5_5

Sonunda Tweets tablomuzu tamamiyle olusturduk.

Tekrar sayfamizi yeniledigimizde tekrar calisir hale geldigini goreceksiniz.

Veritabani denemeleri icin tekrar;

yaziyoruz.

Oncelikle degelerimizi tekrar yuklememiz gerekiyor.Cevreyi yukluyoruz.

=> true karsiligini aldiginiz zaman ilk denememizi yapabiliriz demektir.

konsola;

Yazip tablomuzun degerlerini gorebiliriz. [5]

Screen Shot 2014-09-04 at 01.16.49

Burada gordugunuz created_at: datetime ve updated_at: datetime otomatik olarak olusturuluyor.Ornegin Tweetin Atilma Tarihi ve degistirilme tarihi.

Rails 4.1 den sonrasini kullanan kullanicilar hata ilen karsilasabilirler.;

Screen Shot 2014-09-04 at 01.19.46

Bu hatanin sebebi Rails veritabanina ihtiyac duyana kadar islem yapmaktan kacinir bu sebepten bir islem yapip bir baglanti olusturmamiz gereklidir [6];

Ve sorunu cozumune ulastiriyoruz;

Screen Shot 2014-09-04 at 01.23.01

Devam edebiliriz;

Ilk kullanicimizi ve attigi tweeti olusturabiliriz ; [7]

Screen Shot 2014-09-04 at 01.27.59

bu olusturdugumuz tweet te bir degisiklik yapmak istersek veya silmek istersek once degerleri yuklememiz gerecektir.

komutuylan degerlerimizi t degiskeni uzerine yukledik.

tweeti degistirmek istiyoruz; [8]

Screen Shot 2014-09-04 at 01.34.52

Silmek istiyoruz ; [9]

Screen Shot 2014-09-04 at 01.38.09

Tweets tablomuzda herhangi bir veri kaldimi kontrol edelim; [10]

Screen Shot 2014-09-04 at 01.40.12

Modelimiz gayet basarili bir sekilde calisiyor.

Leave a Reply

Your email address will not be published. Required fields are marked *