Несколько приложений Rails, одна база данных MySQL - PullRequest
8 голосов
/ 22 апреля 2010

Я намереваюсь создать несколько приложений Rails для сайтов site.com, api.site.com, admin.site.com. Все приложения будут иметь доступ к одним и тем же таблицам из одной базы данных MySQL. Приложения и база данных работают на одном сервере.

Есть ли какие-либо настройки в Rails, ActiveRecord или MySQL, о которых я должен беспокоиться для сценария доступа выше? Спасибо

Запуск: Rails 2.3.5, MySQL 5.0, Nginx, Passenger, RubyEE

Ответы [ 2 ]

12 голосов
/ 22 апреля 2010

Эта конфигурация довольно сложна в обслуживании.В каждом приложении необходимо синхронизировать schema.rb и модели, чтобы использовать одну и ту же базу данных.Это означает много дублирования.

Это, вероятно, не очень хорошая идея.Вместо этого вы можете разработать приложение для одного из следующих сценариев:

  • одно приложение Rails, которое обрабатывает site.com, api.site.com и admin.site.com (почему вынужно отдельное приложение?)
  • несколько приложений Rails, но только одно взаимодействует с БД.Другие используют основной API приложений (довольно сложный)
  • различных приложений с разными целями (например, вы можете использовать Sinatra + Datamapper для api.site.com)

Первый вариант, вероятно, является лучшим в большинстве случаев.

4 голосов
/ 22 апреля 2010

Я ответил на аналогичный вопрос здесь . Вы можете сделать это, и иногда это разумно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...