Ruby on Rails Uygulamasını PostgreSQL ile Kullanma (macOS – Nihai Rehber) 🚀
🧠 Teknik Özet
Bu rehberde, macOS üzerinde bir Ruby on Rails geliştirme ortamını varsayılan SQLite yerine PostgreSQL veritabanı ile kullanmayı öğreneceksiniz. Amaç, Rails uygulamalarında daha yüksek veri bütünlüğü ve esneklik sağlamak için PostgreSQL entegrasyonunu gerçekleştirmektir.
Adımlar:
- PostgreSQL kurulumu
- Veritabanı rolü (user) oluşturma
- Rails projesi başlatma
- Veritabanı yapılandırması ve ortam değişkeni ayarı
- Yapılandırmayı test etme
💡 Bu Rehberde Ne Öğreneceksiniz
- Homebrew kullanarak PostgreSQL kurulumu
- PostgreSQL’de rol ve parola oluşturma
- Rails uygulamasını PostgreSQL ile yapılandırma
- Ortam değişkenleriyle güvenli bağlantı sağlama
- Rails sunucusunu test ederek bağlantıyı doğrulama
⚙️ 1. PostgreSQL Veritabanını Kurma
PostgreSQL, Homebrew aracılığıyla kolayca kurulabilir.
brew install postgresql
Bu komut PostgreSQL’in son sürümünü ve gerekli bağımlılıkları kurar.
PATH değişkenine PostgreSQL komutlarını ekleyin (örnek sürüm: 10):
echo 'export PATH="/usr/local/opt/postgresql@10/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
PostgreSQL’in terminalde erişilebilir olmasını sağlar.
Servisi başlatın ve sistem açılışında otomatik çalışmasını sağlayın:
brew services start postgresql@10
postgres -V
PostgreSQL sürümünüzü kontrol eder ve servisi başlatır.
🧩 2. Rails Uygulaması İçin Veritabanı Rolü Oluşturma
Rails uygulamanızın kullanacağı özel bir PostgreSQL rolü oluşturun:
createuser -P -d appuser
appuseradında bir rol oluşturur ve veritabanı oluşturma izni verir.
Şifreyi sonradan değiştirmek isterseniz PostgreSQL konsoluna girin:
psql postgres
\password appuser
\q
Bu komutlarla yeni şifre belirleyip konsoldan çıkabilirsiniz.
🧱 3. Yeni Bir Rails Projesi Başlatma
PostgreSQL kullanacak şekilde yeni bir proje oluşturun:
rails new blogapp -d=postgresql
cd blogapp
-d=postgresqlseçeneği, Rails projenizin PostgreSQL kullanmasını sağlar.
⚙️ 4. Veritabanı Yapılandırması
Şifreyi güvenli şekilde saklamak için bir ortam değişkeni oluşturun:
echo 'export BLOGAPP_DATABASE_PASSWORD="gizli_sifre"' >> ~/.bash_profile
source ~/.bash_profile
Ortam değişkeni sayesinde şifre kod dışında saklanır.
config/database.yml dosyasını düzenleyin:
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: appuser
password: <%= ENV['BLOGAPP_DATABASE_PASSWORD'] %>
development:
<<: *default
database: blogapp_development
Bu ayarlar, Rails’in PostgreSQL’e doğru kullanıcı bilgileriyle bağlanmasını sağlar.
Veritabanlarını oluşturun:
rails db:create
Bu komut development ve test veritabanlarını oluşturur.
🧪 5. Yapılandırmayı Test Etme
Rails sunucusunu başlatın:
rails server --binding=127.0.0.1
Uygulama varsayılan olarak 3000 portunda çalışacaktır.
Bağlantıyı test etmek için:
curl http://127.0.0.1:3000
Eğer Rails karşılama sayfası görünüyorsa, PostgreSQL bağlantısı başarıyla sağlanmıştır.
Tarayıcıdan http://127.0.0.1:3000 adresine giderek uygulamanızın çalıştığını kontrol edin.
❓ Sıkça Sorulan Sorular (SSS)
1. SQLite yerine neden PostgreSQL kullanmalıyım?
PostgreSQL, karmaşık sorgular, yüksek ölçeklenebilirlik ve veri bütünlüğü açısından çok daha güçlüdür.
2. macOS’ta Homebrew kullanmak zorunda mıyım?
Hayır, PostgreSQL’i doğrudan resmi web sitesinden veya Postgres.app ile de kurabilirsiniz.
3. PostgreSQL rolü (role) tam olarak nedir?
Rol, PostgreSQL’de kullanıcıları temsil eder ve veritabanı erişim izinlerini tanımlar.
4. Ortam değişkenleri neden kullanılır?
Şifre gibi hassas bilgilerin doğrudan dosyada yazılmasını önleyerek güvenliği artırır.
5. Rails PostgreSQL ile hangi sürümlerde uyumlu çalışır?
Rails genellikle PostgreSQL’in 9.6 ve üzeri tüm sürümleriyle sorunsuz çalışır.
🎯 Sonuç
Artık macOS üzerinde PostgreSQL destekli bir Ruby on Rails geliştirme ortamı kurdunuz. Veritabanınızı yapılandırdınız, kullanıcı rolünüzü oluşturdunuz ve uygulamanız başarıyla çalıştı. 💡 Projelerinizi Rabisu Bulut üzerinde PostgreSQL destekli olarak barındırabilir, ölçeklenebilir altyapıdan yararlanabilirsiniz.