ben

OMÜ , Bilgisayar Mühendisliği, 13'

21 Ağustos 2015 Cuma

Active Record-1

Rails Model isimlendirme

     Modellerin İlk harfi Büyük diğerleri Küçük  (Task)
     Sınıfların ise tamamı küçük harf   (task.rb)

Rails modellerimize ait sınıfların tekil formda, tabloların ise çoğul formda bulunacağını kabul eder.

    Tabloadi:  tasks
    Model:  Task

Kullanılacak veri tabanı?

     Aksi belirtilmedikçe veritabanı , Sqllite
     Projede mysql yada Postgresql kullnırsak ayarları nasıl değiştircez?

$ Mysql kurulumu:  sudo gem install mysql
$ Postgresql kurulumu: sudo gem instal pg


Config>database.yml  

Development:
adapter:mysql2 || postgresql
encoding:utf8
reconnect:false
database:database_ismi
pool:5
username: mysql/postgresql_kullanıcı_ adi
password:mysql/postgresql_sifre
socket: /tmp/mysql.sock

Production ve test içinde aynı ayarlar geçerli

Gemfile=>  gem ‘mysql‘
                    gem ‘pg’

Active Record Veri Türleri 

Binary: Genellikle resim/ ses gibi multimedia
Boolean: true/false
Date: tarih bilgisi    Time: saat bilgisi
Datetime: tarih ve saat bilgisi
Float/decimal: ondalık sayı
İnteger: tamsayı
String: 255 karaktere kadar olan string ifade
Text: 255 karakterden uzun olan string

Tür Dönüşümleri
.to_f     : Floatta çevirir
.to_i     :integera çeviri
.to_s     :stringe çeviri

Model işlemleri

 Yeni model oluşturma: $ rails g model post name title
                      
 Not: ActiveRecord boş bırakılan türler için otomatik olarak string veri türünü kullanır

 Tablo işlemleri

 db>migration

def change
     create_table ….
end

create_table : tablo olustur
drop_table: tablo sil
Rename_table:  tablo adını değiştirir 

Alan işlemleri 

Mevcut tabloya alan ekleme:

        $ rails  g migrate AddAlanadiToTabloadi  alan_adi:türü

Mevcut tablodan alan silme

       $ rails  g migrate RemoveAlanadiToTabloadi  alan_adi:türü

Mevcut tabloya  birden fazla alan akleme

       $ rails  g migrate AddAlanadi1AndAlanAdi2ToTabloadi  alan_adi1:türü alan_adi2:türü

Rake  Görevleri

$ rake db:migrate
$ rake db:create
$ rake db:drop
$ rake db:seed
$ rake db:shema:load
$ rake db:setup
                 db:shema:load+db:seed
$ rake db:migrate:reset:
                 db:drop+db:create+db:migrate


 Tabloya Veri Ekleme
 
Car.create(make:’ford’, model:’focus’, year:’2005’)
Ya da
 
araba=Car.new(make:’ford’, model:’focus’,
                           year:’2005’)
araba.save

Ya da
Seed.rb dosyasına toplu veri kaydı
rake db:migrate