Enlaces e información

Comenta lo que creas oportuno.


Otros posts
Hacer un IN en C#
La caja de Pandora

Multiples bases de datos en Rails

Escrito por Roberto M. Oliva en Enero 26th, 2007

La arquitectura del proyecto en el que estamos trabajando requiere el uso de una base de datos por cliente conectado. Queremos que la aplicación base sea la misma para todo el mundo pero, dependiendo del dominio de conexión, utilice una base de datos u otra.

He estado escudriñando los siguientes articulos:

http://www.railsonwave.com/railsonwave/2006/12/11/multiple-database-handlng-with-rails
http://wiki.rubyonrails.org/rails/pages/HowtoUseMultipleDatabases
http://www.chwhat.com/articles/2005/10/01/multiple-databases-on-rails
Basicamente esplican como lograr nuestras necesidades. En realidad, el primero va un paso más alla y es poder dividir los modelos de la aplicación entre diferentes databases. Al fin y al cabo todo se centra en donde se quiere hacer uso de múltiples bases de datos:

  • ActionController: Cada request utiliza su propia conexión. Esto es lo que andamos buscando: El cliente realiza una peticion, y el controlador se conecta en base al dominio recibido a la base de datos correspondiente.
  • ActiveRecord: Cada modelo define a que base de datos se conecta: Cada modelo puede residir en una base de datos diferente. Esto puede tener mucha utilidad si queremos, por ejemplo, tener una base de datos de usuarios independiente de la que utilice la aplicación.

También estaría bien ir un paso más alla y es utilizar una “metadatabase“. Rails utiliza el database.yml para localizar la base de datos a la que conectarse. Nos gustaria (ya veremos si es posible) que la relación entre el dominio y la base de datos a conectarse, resida en sí misma en una tabla de una base de datos. De ahí la definición de “metadatabase“: Una base de datos que define donde estan las bases de datos.

En fin… sobre todo esto iremos comentando avances en próximas entregas.



Escriba un comentario

Dediquele un momento a comentar lo que piensa. Esta permitido usar HTML bsico para formatear el escrito.

Comentarios de los lectores

Этот блог заслуживает похвалы. Обязательно напишу про него на закрытом форуме вебмастеров. Думаю, вебмастера согласятся со мной. Кстати вы можете присоединиться к сообществу вебмастеров, закрытый форум вебмасетров.