rails, activerecord, obtenir la spécification de connexion actuelle

J'écris du code qui va migrer certaines données d'une base de données à une autre, en surchargeant certaines données dans la destination. Il utilise ActiveRecord, car il est associé à une application Rails utilisant déjà AR.

Comme certaines données seront surécrites, je voudrais fournir une invite de confirmation qui indique à l'utilisateur le dictionnaire/spécification de connexion réel utilisé pour la connexion à la base de données de destination. vous savez, adaptateur, hôte, nom d'utilisateur, mot de passe, base de données, les choses que vous listeriez dans la base de données.yml.

Je peux prendre le modèle pour les choses que j'écris et demander SomeModel.connexion.... Mais il ne semble pas y avoir D'API du tout pour obtenir la spécification de connexion réelle d'un objet de connexion en direct.

Vraiment? Ai-je raté quelque chose? D'autres idées, même api non documentée?

23
demandé sur jrochkind 2011-12-30 00:42:36

2 réponses

Similaire à la façon dont vous pouvez appeler connection sur un modèle, vous pouvez faire un appel à connection sur ActiveRecord::Base.

ActiveRecord::Base.connection_config

Regardez les documents pour ActiveRecord:: Base , car il existe d'autres méthodes qui vous permettent d'obtenir/définir des attributs sur la connexion.

55
répondu Batkins 2011-12-29 22:25:05

La réponse est SomeModel.connection_config

8
répondu jrochkind 2011-12-29 22:11:39