Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Rails:MySQL &Postgres gleichzeitig in derselben App?

Wenn Sie zum Beispiel in Ihrer database.yml so etwas haben (erinnern Sie sich nicht wirklich an die richtigen Attribute, aber ich denke, Sie verstehen die Idee):

postgres:
    adapter: postgres
    database: gis

mysql:
    adapter: mysql
    database: app

Dann könnten Sie

hinzufügen
establish_connection :postgres 

in den Modellen, die die Postgres-Datenbank verwenden sollten. Natürlich könnte es einfacher sein, eine abstrakte Klasse zu erstellen und alle Modelle dazu zu bringen, stattdessen diese zu verwenden, da das DRYer ist.

class PostgresRecord::Base < ActiveRecord::Base
  self.abstract_class = true
  establish_connection :postgres
end

Oder, da Sie planen, irgendwann zu Postgres zu migrieren, sollten Sie wahrscheinlich das Gegenteil tun, die Postgres-Datenbank als Standard festlegen und die Verbindung für MySQL ändern.