Вопрос о переносе сайта в Rails / Grails - PullRequest
1 голос
/ 28 апреля 2011

У меня вопрос Grails / Rails.

У нас есть приложение на Java, и мне было интересно, можно ли его написать на Grails или Rails. (Я новичок в Grails и Rails, поэтому надеюсь, что это не глупые вопросы.)

Проблема в том, что у нас есть несколько источников данных. Наше приложение использует много баз данных.

Наши пользователи делятся на группы. У нас есть одна глобальная база данных, которая содержит информацию для пользователей, групп, а также некоторую глобальную информацию, а также базу данных для каждой группы. База данных для каждой группы содержит данные для этой группы. Существует одна схема для глобальной базы данных и одна для всех групповых баз данных.

Когда кто-то создает учетную запись, в глобальной базе данных создаются записи для новой группы и для пользователя. Затем для этой группы создается новая база данных в MySQL. Это делается через Java EE EntityManager. Существует один EntityManager для глобальной базы данных. Когда создается новая группа или когда пользователь входит в систему, Global EntityManager считывает информацию из таблицы групп и создает объекты EntityManager и Connection для базы данных группы, которые сохраняются в сеансе пользователя.

У нас есть несколько баз данных, работающих на одном сервере MySQL. Мы не храним некоторую информацию в базе данных MySQL, а некоторую в базе данных Oracle; это, кажется, самый распространенный сценарий, который я вижу, когда гуглю по поводу работы с несколькими базами данных в Rails. Я сделал несколько поисковиков, и похоже, что многие страницы, посвященные работе с несколькими базами данных в Rails, предназначены для работы с уникальной схемой в каждой базе данных. У нас есть две схемы, но одна из них используется во многих базах данных. Информация о соединении для каждой базы данных группы находится в глобальной базе данных. Только информация для глобальной базы данных находится в файле. Является ли добавление большего количества записей в database.yml единственным способом использования большего количества баз данных?

Я нашел это, и я думаю, что это может быть то, что я ищу: http://programmerassist.com/article/302

Есть идеи?

1 Ответ

0 голосов
/ 28 апреля 2011

Grails имеет хороший плагин Datasources , но он предназначен для случая, когда разные классы домена происходят из разных БД, а не для нескольких БД для одного типа объекта.Однако он предоставляет метод для получения шаблона гибернации, настроенного для определенного источника данных, поэтому вы должны иметь возможность делать то, что вы хотите.

Единственная сложная задача - динамическое добавление источников данных во время выполнения.Автор плагина очень активен в сообществе и очень полезен, поэтому я думаю, что вы сможете его заставить работать.

Если вы являетесь разработчиком веб-приложения на Java, Grails будет гораздо проще для изучения, чемRails (IMO, будучи Java-разработчиком, который использовал оба).

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