2010-04-22 15 views
6

Tengo la intención de tener varias aplicaciones Rails para cada sitio web, api.site.com, admin.site.com. Todas las aplicaciones accederán a las mismas tablas desde una única base de datos MySQL. Las aplicaciones y la base de datos se ejecutan en el mismo servidor.Aplicación Multiple Rails, base de datos MySQL única

¿Hay alguna configuración en Rails, ActiveRecord o MySQL que deba preocuparme por el acceso anterior a scenerio? Gracias

de reproducción: Carriles 2.3.5, MySQL 5.0, Nginx, pasajeros, RubyEE

Respuesta

11

Esta configuración tiende a ser bastante difíciles de mantener. En cada aplicación, debe mantener schema.rb y los modelos sincronizados para usar la misma base de datos. Significa mucha duplicación.

Esto no es probablemente una buena idea. En su lugar, es posible que desee diseñar la aplicación para cumplir con uno de los siguientes escenarios:

aplicación
  • uno rieles que se ocupa de site.com, api.site.com y admin.site.com (¿por qué necesita aplicación separada ?)
  • múltiples aplicaciones Rails, pero solo una interactúa con el db. Los otros usos de la API de aplicación principal (bastante complejo)
  • aplicaciones diferentes con diferentes propósitos (por ejemplo, es posible que desee utilizar Sinatra + DataMapper para api.site.com)

La primera opción es probablemente la mejor en la mayoría de los casos.

+0

Estoy de acuerdo con la primera, puedes tenerla en una sola aplicación. – Adnan

+0

Lo reconsideraré, la primera opción probablemente. Gracias. –

3

Respondió una pregunta similar here. Puedes hacerlo y algunas veces es razonable.

Cuestiones relacionadas