У меня вопрос 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
Есть идеи?