Skip to main content

Ruby on Rails ile PostgreSQL Kurulumu ve Yapılandırması 🚀


📘 Bu Rehberde Ne Öğreneceksiniz?

Bu rehberde, Ruby on Rails uygulamanızı PostgreSQL veritabanı ile nasıl kuracağınızı, yapılandıracağınızı ve test edeceğinizi öğreneceksiniz. Rails’in kurulumu, PostgreSQL kullanıcı oluşturma, database.yml yapılandırması ve veritabanı test işlemleri sade ve anlaşılır biçimde anlatılmaktadır.


🧠 Teknik Özet

Bu rehberin amacı, Ruby on Rails (RoR) framework’ü ile PostgreSQL veritabanının birlikte çalışmasını sağlamaktır. Adımlar; Ruby ve Rails kurulumundan başlayarak, PostgreSQL’in yüklenmesi, bağlantı gem’inin eklenmesi, kullanıcı oluşturma, proje yapılandırma ve veritabanı testine kadar tüm süreci kapsar.


⚙️ Adım Adım Kurulum ve Yapılandırma

Bu adımları yerel makinenizde veya bulut sunucunuzda (örneğin tr1-node01.rabisu.cloud) kolayca uygulayabilirsiniz.


1. Ruby ve Rails Kurulumu

Rails’i kurmanın en kolay yolu RVM (Ruby Version Manager) kullanmaktır. RVM, farklı Ruby sürümlerini yönetmenizi sağlar ve Rails gem’ini otomatik yükler.

\curl -L https://get.rvm.io | bash -s stable --rails

📝 Bu komut Ruby ve Rails’i sisteminize yükler.

Alternatif olarak, mevcut RVM’iniz varsa yalnızca Rails gem’ini yükleyebilirsiniz:

gem install rails

📝 Bu komut Rails ve bağımlı gem’leri kurar.


2. PostgreSQL ve pg Gem Kurulumu

PostgreSQL kurulumu, işletim sisteminize göre değişebilir. Ubuntu örneği:

sudo apt-get install postgresql postgresql-contrib

📝 Bu komut PostgreSQL veritabanı sunucusunu yükler.

Ruby ile PostgreSQL arasındaki bağlantıyı kurmak için pg gem’ini yükleyin:

gem install pg

📝 Bu gem, Ruby kodunun Postgres veritabanı ile konuşmasını sağlar.


3. PostgreSQL Kullanıcısı (Rolü) Oluşturma

Rails uygulaması için özel bir veritabanı kullanıcısı oluşturun.

su - postgres
psql
create role rabisu_app with createdb login password 'gucluvegizlisifre';
\q

📝 Bu işlem rabisu_app adında yeni bir veritabanı kullanıcısı oluşturur.


4. Yeni Rails Uygulaması Oluşturma

Yeni bir Rails uygulaması başlatırken Postgres veritabanını belirtin:

rails new rabisu-proje --database=postgresql
cd rabisu-proje

📝 Bu komut Postgres yapılandırmalı bir Rails uygulaması oluşturur.


5. Veritabanı Ayarlarını Yapılandırma

Rails, config/database.yml dosyasındaki bilgileri kullanarak Postgres’e bağlanır. Aşağıdaki örneği kendi kullanıcı bilgilerinizle düzenleyin:

development:
adapter: postgresql
encoding: unicode
database: rabisu_proje_development
pool: 5
username: rabisu_app
password: gucluvegizlisifre

test:
adapter: postgresql
encoding: unicode
database: rabisu_proje_test
pool: 5
username: rabisu_app
password: gucluvegizlisifre

6. Veritabanlarını Başlatma ve Taşıma

Artık veritabanlarını oluşturabilir ve test edebilirsiniz:

rake db:setup

📝 Bu komut geliştirme ve test veritabanlarını oluşturur.

Test için basit bir model oluşturalım:

rails g scaffold Yazi baslik:string icerik:text
rake db:migrate

📝 Bu komutlar Yazi modelini oluşturur ve veritabanına uygular.


7. Uygulamayı Çalıştırma

Rails uygulamanızı başlatmak için:

rails server

Tarayıcıdan http://localhost:3000/yazis adresine giderek bağlantıyı test edin. Her şey doğru yapılandırıldıysa, PostgreSQL veritabanı başarıyla çalışıyordur.


❓ Sıkça Sorulan Sorular (SSS)

1. PostgreSQL yerine MySQL kullanabilir miyim?

Evet, Rails MySQL ve SQLite gibi farklı veritabanlarını da destekler.

2. pg gem’ini kurarken hata alıyorum, neden?

PostgreSQL geliştirme kütüphaneleri eksik olabilir. Ubuntu için:

sudo apt-get install libpq-dev

3. database.yml içindeki pool: 5 ne anlama geliyor?

Bu, aynı anda açılabilecek maksimum veritabanı bağlantısı sayısını belirtir.

4. rails new komutunda Postgres ayarları gelmiyor, neden?

--database=postgresql parametresini eklemeyi unuttuysanız dosyayı elle düzenlemelisiniz.

5. Bulut sunucuda kullanırken nelere dikkat etmeliyim?

Güvenlik duvarında 3000 portunu açın ve üretim ortamında güçlü şifreler kullanın.


🎯 Sonuç

Artık Ruby on Rails uygulamanız PostgreSQL veritabanı ile tam entegre çalışıyor. Tüm bağlantılar doğru yapılandırıldıysa, model oluşturma ve sorgular sorunsuz çalışacaktır.

💡 Rabisu Bulut platformunda, Ruby on Rails uygulamalarınızı yüksek performanslı Postgres sunucularında hemen deneyebilirsiniz.