Un jour, une gem

18/06/2012

Lundi c'est Apartment

gem install apartment

Plusieurs Bases de Données, une seule application

Aujourd’hui une gem pour gérer plusieurs Bases de Données au sein d’une même appli Rails.

Par exemple, pour changer de Bases de Données en fonction du nom de domaine ou du sous-domaine :

application.rb

module My Application
  class Application < Rails::Application
    # avec le nom de domaine
    config.middleware.use 'Apartment::Elevators::Domain'
    # avec le sous-domaine
    config.middleware.use 'Apartment::Elevators::Subdomain'
  end
end

On peut même changer de Bases de Données à volonté :

Apartment::Database.switch('database_name')

Et ainsi toutes les nouvelles requêtes iront vers la nouvelle Base de Données sélectionnée :)

Cela devrait suffire pour jouer !

Les liens utiles

Sur une idée de @msadouni