Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Múltiplas conexões DB em trilhos


Tentar
rake db:create:all

E sim, é possível ter várias conexões db em um aplicativo Rails.

Isso é o que eu fiz uma vez, criei duas classes que herdam de ActiveRecord::Base e defina as conexões dentro dessas classes.

Então eu herdei todos os meus modelos em uma dessas classes em vez de ActiveRecord direto

Abaixo segue um exemplo:
database.yml file

#app uses two database
#1 - test1
#2 - test2
test1:
  adapter: mysql
  encoding: utf8
  database: test1
  username: root 
  password: xxx
  host: localhost

test2:
  adapter: mysql
  encoding: utf8
  database: test2
  username: root
  password: xxx
  host: localhost

Então eu tenho dois modelos para bancos de dados test1 e test2:
class Test1Base < ActiveRecord::Base
    self.abstract_class = true
    establish_connection("test1")
end

class Test2Base < ActiveRecord::Base
  # No corresponding table in the DB.
  self.abstract_class = true
  establish_connection("test2")
end

Então eu herdo meus modelos de acordo com o banco de dados:
class School < Test1Base
  #code
end

class Student < Test2Base
  #code
end