У меня есть одна основная база данных, в которой размещаются все данные мастера и транзакции моих пользователей.Symfony2: как работать с данными из другого db?
Сейчас я хотел бы иметь 3 веб-приложения (symfony2), подключенные к этой базе данных, A B и C. Все они имеют локальную базу данных.
A для моих пользователей, B и C будут административными приложениями. (В основном это для разных отделов моей компании, которые делают совершенно разные вещи с информацией из основной базы данных). Основная база данных питается от A, но должна также быть модифицирована B и C.
Давайте скажем в B Мне нужно назначить действие пользователю, создавшему учетную запись в A, и сохранить эту информацию в локальной базе данных B.
Я размышлял об этом в течение месяца: как я работаю с пользователем Сущности в B (исходя из А), так что я все еще быть в состоянии сделать что-то вроде:
$activity = new Activity();
$activity->setUser($user);
Или что-то вроде:
$activity->getUser();
Как можно поддерживать объектные отношения, если информация должна поступать из двух разных баз данных?
Я очень новичок в этом способе работы. Нужно ли мне работать с AbstractClasses или API или что-то еще?
Если у кого-то есть хотя бы несколько советов относительно того, как я должен принимать во внимание, я был бы очень благодарен.
EDIT: Означает ли это, что мне нужно иметь два класса сущности для, например, пользовательской сущности? Один в A и один в B (и, возможно, один в C).
Проблема в том, что в A пользовательский объект имеет отношения с другими объектами, чем в B. Помните, что A и B - это разные программные средства.
Я думал, может быть, у меня должен быть многоразовый пакет, который используется как в A, так и в B? Но опять же проблема заключается в том, что некоторые объекты имеют отношения в A, которых нет в B.
Другими словами, как бы я сопоставлял одни и те же данные из базы данных по-разному с объектами в нескольких программах.
возможно дубликат [Использование Отношения с несколькими менеджерами сущностей] (http://stackoverflow.com/questions/11463517/using-relationships-with-multiple-entity-managers) – Yoshi
@Yoshi: Я обновил свой вопрос. – apfz
Я думаю, что для вас самая важная вещь из связанного ответа: «Использование разных менеджеров объектов (менеджеров сущностей) не позволяет пересекать объектные графы». Здесь вы можете заменить «менеджеры объектов» на «базы данных». Кроме того, при работе с одним менеджером сущностей, я думаю, [«Наследование наследования»] (http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/inheritance-mapping.html) может быть хорошо читал для вас. – Yoshi