sql >> Database teknologi >  >> RDS >> Mysql

Multiple DB-forbindelse i skinner

Prøv

rake db:create:all

Og ja, det er muligt at have flere db-forbindelser i en Rails-applikation.

Dette er, hvad jeg gjorde en gang, jeg har oprettet to klasser, som arver fra ActiveRecord::Base og indstil forbindelserne i disse klasser.

Så arvede jeg alle mine modeller i en af ​​disse klasser i stedet for direkte ActiveRecord

Nedenfor er et eksempel:

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

Så har jeg to modeller til både test1 og test2 databaser:

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

Så arver jeg mine modeller i henhold til database:

class School < Test1Base
  #code
end

class Student < Test2Base
  #code
end


  1. Dybt dyk ned i NoSQL:En komplet liste over NoSQL-databaser

  2. Formater SQLite-forespørgselsresultater som kolonner med kolonneoverskrifter

  3. Brug af skråstreg efter mysql_real_escape_string

  4. Hvordan opdager man forespørgsel, der holder låsen i Postgres?