0 like 0 dislike
1 view
in ROR by anonymous Bilge (165k points)
Rails aynı anda iki database kullanma

How to use multiple database

how to use second db

2 Answers

0 like 0 dislike
by anonymous Bilge (165k points)

Rails içinde birden fazla db kullanmak istiyorsanız, öncelikle db bağlantı bilgilerinizi database.yml dosyasına tanımlayınız. Tek bir db ile nasıl çalışılacağını biliyorsunuz zaten. Senaryomuzda ikinci bir db'den veri çektiğiniz varsayıyoruz. 

1- İkinci db'nin bilerini database.yml dosyasına ekliyoruz;

normal: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  host: x.x.x.x
  username:  user
  password:   userpass
  socket: /opt/lampp/var/mysql/mysql.sock

seconddb:
  adapter: mysql2
  encoding: utf8mb4
  host: y.y.y.y
  database: admin
  username: mydb
  password: admin
  socket: /opt/lampp/var/mysql/mysql.sock

2- app/model klasöründe bir ruby class oluşturuyoruz ve aşağıdaki kodu ekliyoruz

class SecondDB < ActiveRecord::Base
  establish_connection(:seconddb)
end

3- Kontroller dosyamızda verileri şu şekilde çekebiliriz.

SecondDB.table_name ="my_table_name"
@result= SecondDB.all

0 like 0 dislike
by anonymous Bilge (165k points)
Ruby daha farklı kullanımlar için aşağıdaki belgeyi sunar.

https://guides.rubyonrails.org/active_record_multiple_databases.html
...