11

tengo varias aplicaciones carriles que van a utilizar el mismo conjunto básico de modelos y datos, por ejemplo:¿La mejor manera de compartir modelos y datos de ActiveRecord entre diferentes aplicaciones de Rails?

  • Aplicaciones
  • Desarrolladores
  • Categorías

Cada aplicación se basa en la parte superior de esta datos básicos y lo usa de diferentes maneras. Por ejemplo, podría tener algo como esto en otra aplicación:

  • Actividad
  • Usuarios
  • Aplicaciones (compartido)
  • Desarrolladores (compartido)
  • Categorías (compartido)

¿Cuál es la mejor manera de compartir los datos de los modelos y entre ellos? Los datos de Aplicaciones, Desarrolladores y Categoría serán todos iguales para cada aplicación, por lo que preferiría no tener que duplicar los datos en la base de datos de todas las aplicaciones.

EDIT: estoy pensando a través de un par de posibles soluciones:

  • rieles motores (resolvería los modelos duplicados en diferentes aplicaciones problema, pero no es el tema de datos compartidos)
  • Usando ActiveResource acceder a los datos básicos (soluciona los datos compartidos, pero no es el tema modelo compartido)
+0

En su primera solución posible, es compartir los datos de un problema, ya que cada aplicación se implementa en un servidor diferente? – lulalala

+0

Ha sido un tiempo desde que hice esta pregunta, pero de lo que recuerdo, sí que era el problema. Cada aplicación de rieles estaba en un servidor diferente. – markquezada

Respuesta

4

estoy usando una base de datos compartida para resolver el problema de los datos compartidos entre heroku y un servidor en EC2, que hace algunos procesamiento de fondo que no puedo hacer en heroku. En mi caso estoy usando la misma aplicación, pero en realidad todo lo que estoy haciendo es utilizando delayed_job en el EC2, así que sólo estoy usando los modelos de la aplicación allí. Si fuera a usarlos en otra aplicación, probablemente me tomaría la molestia de crear una gema para usar entre ellos.

+0

Interesante ... De hecho, necesito hacer algo muy similar. (También estoy usando Heroku). ¿Por base de datos compartida te refieres a uno más que el de Heroku? En mi caso, necesito desglosar las cosas centrales de inmediato, pero no había pensado en usar una gema para hacer eso. – markquezada

+0

Sí, aloje la base de datos con Amazon RDS, mi aplicación en heroku habla de eso. Unas dos semanas después heroku salió con su PostgreSQL complemento (http://blog.heroku.com/archives/2010/11/10/heroku_postgresql/) que tendría también trabajó para mí. Probablemente lo habría preferido en realidad, pero c'est la vie. – karmajunkie

Cuestiones relacionadas