Mevcut tüm veritabanı motorları arasında, PostgreSQL en popüler olanlardan biridir. Güvenilirliği, güçlü özellikleri ve performansıyla bilinen, tanınmış bir açık kaynaklı veritabanı sistemidir. PostgreSQL popüler bir seçim olduğu için neredeyse tüm büyük web çatısı tarafından desteklenir. Rakipleri MySQL ve SQLite gibi, PostgreSQL'in de güçlü ve zayıf yönleri vardır.
Ruby on Rails popüler bir web çatısıdır ve Ruby dilinde yazılmıştır. Veritabanından bağımsız bir çatıdır, yani çok çeşitli veritabanlarıyla çalışabilir. Varsayılan olarak Rails, veritabanı işlevleri için SQL kullanıldığını varsayar. Ancak PostgreSQL entegrasyonunu da destekler.
Bu eğitim, Ruby on Rails uygulamanız için PostgreSQL'i yapılandırma sürecinde size rehberlik edecektir.
Ruby on Rails and PostgreSQL
Hem PostgreSQL hem de Ruby on Rails tüm UNIX/Linux dağıtımlarında mevcuttur. Varsayılan paket sunucularından edinilebilirler.
Alternatif bir yöntem ise RVM (Ruby Version Manager) kullanmaktır. Ruby on Rails kurulumlarını yönetmek için özel bir araçtır. Bu yaklaşımın avantajı, RVM'nin Ruby on Rails'in yerel bir kurulumunu oluşturacak olmasıdır. Ayrıca Ruby'nin birden fazla sürümünü yönetebilir ve bunlar arasında sorunsuz bir şekilde geçiş yapabilir. İşte Ubuntu üzerinde RVM ile Ruby on Rails Kurulumu.
PostgreSQL için ise, Ubuntu üzerinde PostgreSQL kurulumu ve yapılandırılması.
-
RVM Kurulumu
RVM'nin sunduğu kurulum betiği sayesinde RVM'nin kurulum süreci oldukça basittir. Betik, Linux sistemini otomatik olarak algılayacak, ardından gerekli tüm paketleri indirip kuracak şekilde tasarlanmıştır. Paketleri doğrulamak için RVM GPG anahtarlarına ihtiyacımız var. Bu, alınan paketlerin sahte olmadığını garanti eder. İlk olarak, RVM GPG anahtarlarını ekleyin:
|
1 |
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB |

Ardından, RVM kurulum betiğini çalıştırın:
|
1 |
curl -sSL https://get.rvm.io | bash -s stable --rails |

Son olarak, kurulumu doğrulayın:
|
1 |
type rvm | head -n 1 |
-
Rails Kurulumu
Artık ek bileşenleri kurmak için RVM'yi kullanabiliriz. RVM kullanarak Rails çatısını kurun:
|
1 |
gem install rails |
-
PostgreSQL Kurulumu
Bir sonraki adım, sistemde PostgreSQL'in önceden kurulu olmasını gerektirir. Varsayılan olarak, PostgreSQL kurmanın en kolay yolu varsayılan paket yöneticisini kullanmaktır. Tüm büyük Linux dağıtımları için mevcuttur. Mevcut tüm kurulum yöntemleri için PostgreSQL indirme sayfasına göz atın. Ubuntu'da, aşağıdaki komutlar PostgreSQL deposunu yapılandıracak ve hemen kuracaktır:
|
1 |
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' |

|
1 |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - |

|
1 |
sudo apt update && sudo apt install postgresql -y |

To enable PostgreSQL support, we need to install the pg gem. It enables interfacing with PostgreSQL from Ruby code:
|
1 |
gem install pg |
-
PostgreSQL Yapılandırması
Kurulumdan sonra, projelerimiz için kullanmamız gerekecek araçları yapılandıracağız. İlk olarak, PostgreSQL kullanıcısına geçiş yapın:
|
1 |
su - postgres |
PostgreSQL kabuğuna erişin:
|
1 |
psql |

PostgreSQL bağlamında, şimdi yeni bir rol (klasik olarak kullanıcı olarak bilinir) oluşturacağız. PostgreSQL'in kendine özgü bir roller ve izinler biçimi vardır. Uygun bir kullanıcı adı ve güçlü bir şifre kullanmayı unutmayın:
|
1 |
create role <username> with createdb login password 'password123'; |
Bir Rails Uygulaması Oluşturma
Rails'e veritabanı için PostgreSQL kullanacak şekilde yapılandırılmış yeni bir Rails uygulaması oluşturmasını söyleyin:
|
1 |
rails new <app_name> --database=postgresql |

Bu, uygulama kullanıcı adıyla yeni bir dizin oluşturacaktır. Rails genellikle veritabanı kullanıcı adının ve uygulama adının aynı olmasını bekler. Bir sonraki adım, Rails veritabanı yapılandırmasını ayarlamaktır. Yapılandırma dosyası aşağıdaki konumda bulunur:
|
1 |
RAILS_ROOT/config/database.yml |
Dosya database.yml mevcut Rails ortamı için uygun veritabanını tanımlayan verileri içerir. Dosya adından da anlaşılacağı gibi, şunu kullanır: YAML. YAML, tüm programlama dilleri için insan dostu bir veri serileştirme standardıdır.
Varsayılan olarak Rails, farklı ortamlar için farklı veritabanları bekler, örneğin, development, test, ve production. Bu çeşitli durumlarda yararlıdır, örneğin Rails her Rails testi çalıştırıldığında test veritabanını boşaltacak ve yeniden oluşturacaktır.
İşte bir örnek database.yml içeren development ve test veritabanları:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
development: adapter: postgresql encoding: unicode database: dummyapp_development pool: 5 username: dummyapp password: password123 test: adapter: postgresql encoding: unicode database: myapp_test pool: 5 username: dummyapp password: password123 |

Şimdi değişiklikleri yürürlüğe koyma zamanı. Aşağıdaki komut, database.yml. Her veritabanının kendi kullanıcıları ve schema_migrations tabloları olacaktır. Bu tablo, veri ve şema taşıma (migration) için gereklidir:
|
1 |
rake db:setup |
PostgreSQL yapılandırma dosyası pg_hba.conf uygunsuz yapılandırmalar içeriyorsa bu adım başarısız olacaktır. Dosya aşağıdaki konumda bulunur:
|
1 |
sudo cat /etc/postgresql/13/main/pg_hba.conf |
Aşağıdaki satır hedeftir. peer yerine, kimlik doğrulama yöntemi md5:
|
1 |
local all all peer |
Satırı değiştirin:
|
1 |
local all all md5 |

Değişikliklerin geçerli olması için PostgreSQL servisini yeniden başlatmanız gerekir:
|
1 |
sudo systemctl restart postgresql |
Ardından, veritabanı kurulumunu yeniden çalıştırın:
|
1 |
rake db:setup |
Rails'i Çalıştırma
Rails sunucusunu çalıştırmak aşağıdaki ek bileşeni gerektirir. Bunun için Node.js'in kurulu olması gerektiğini unutmayın (şununla birlikte: yarn):
|
1 |
rails webpacker:install |

Rails uygulaması artık başlatılmaya hazır olmalıdır. Rails sunucusunu başlatın:
|
1 |
rails server |

Sunucuya aşağıdaki URL'den erişilebilmelidir. Rails açılış sayfasına yönlendirecektir:
|
1 |
http://localhost:3000 |
Açılış sayfasını daha heyecan verici hale getirmek için bir iskele (scaffold) oluşturun:
|
1 |
rails g scaffold Post title:string body:text |

|
1 |
rake db:migrate |
Son olarak, sunucuyu başlatın ve URL'ye tekrar gidin. Artık gönderileri yönetebiliriz (gönderi oluşturma, düzenleme ve silme).
Son Düşünceler
Bu, PostgreSQL ile Ruby on Rails'in temel bir kurulumudur. Rails'i daha fazla kullanmanıza yardımcı olacak resmi bir başlangıç kılavuzu bulunmaktadır. Oluşturduğumuz örnek uygulama PostgreSQL kullanıyor. Bu sayede, işlevleri için PostgreSQL kullanan herhangi bir uygulama oluşturabilirsiniz.
Keyifli kodlamalar!


Yorumlar
Henüz yorum yapılmamış. İlk siz olun.