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
.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 ….
end
create_table : tablo olustur
drop_table: tablo sil
Rename_table: tablo adını değiştirir
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ü
$ 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ü
$ 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
$ 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’)
year:’2005’)
araba.save
Ya da
Seed.rb dosyasına toplu veri kaydı
rake db:migrate
rake db:migrate