sql >> Database >  >> RDS >> Mysql

Meerdere DB-verbinding in rails

Probeer

rake db:create:all

En ja, het is mogelijk om meerdere db-verbindingen in een Rails-toepassing te hebben.

Dit is wat ik ooit deed, ik heb twee klassen gemaakt die erven van ActiveRecord::Base en stel de verbindingen in die klassen in.

Daarna erfde ik al mijn modellen in een van die klassen in plaats van direct ActiveRecord

Hieronder is een voorbeeld:

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

Dan heb ik twee modellen voor zowel test1 als test2 databases:

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

Dan erf ik mijn modellen volgens de database:

class School < Test1Base
  #code
end

class Student < Test2Base
  #code
end


  1. SqlDateTime.MinValue !=DateTime.MinValue, waarom?

  2. MySQL - hoe bewaar je tijd met de juiste tijdzone? (van Java)

  3. Ontdek de geschiedenis van SQL-query's

  4. Code wijzigen van MySQL naar PDO