Tuesday 29 May 2007

ActiveRecord - Multiples Bases de datos

Durante un seminario acerca de Rails, alguien me pregunto sobre la posibilidad de acceder a una fuente de datos que fuera la configurada por defecto en el entorno en el que nos encontremos, a saber, desarrollo, test y producción. Tengo que confesar que la pregunta me cogió un poco por sorpresa, pero pensando en ello, y con la confianza que te dan las buenas ideas que se desprenden de todo lo que rodea a Rails, supusimos entre todos que si que se podría. Efectivamente, asi es. De hecho, es realmente sencillo.

Tendremos que llamar al método establish_connection del modelo que apunte a la BD externa con una sintaxis como esta.

Class_name.establish_connection(
:adapter => "mysql",
:host => "host_name",
:username => "username",
:password => "password",
:database => "db_name"
)

De este modo, tanto esta clase, como el resto de subclases harán uso de la nueva conexión. El resto de clases del modelo seguirán usando la BD configurada por defecto en el archivo database.yml

1 comment:

Anonymous said...

Puedes ser un poco mas detallado en la solucion que planteas por favor