Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wielokrotne połączenie DB w szynach

Wypróbuj

rake db:create:all

I tak, możliwe jest posiadanie wielu połączeń db w aplikacji Rails.

Tak zrobiłem kiedyś, stworzyłem dwie klasy dziedziczące po ActiveRecord::Base i ustaw połączenia wewnątrz tych klas.

Następnie odziedziczyłem wszystkie moje modele w jednej z tych klas zamiast bezpośredniego ActiveRecord

Poniżej znajduje się przykład:

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

Następnie mam dwa modele dla baz danych test1 i 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

Następnie dziedziczę moje modele zgodnie z bazą danych:

class School < Test1Base
  #code
end

class Student < Test2Base
  #code
end


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyzwalaj połączenia w usuwaniu kaskadowym

  2. automatycznie wypełnij tabelę fikcyjnymi danymi w mysql

  3. Import CSV MySQL:wartość daty i godziny

  4. Uzyskaj różnicę lat między dwiema datami w MySQL jako liczbę całkowitą

  5. MySQL #1364 – Pole „nazwa_kolumny” nie ma wartości domyślnej – nie można wstawić do bazy danych