Могут ли разные части приложения OFBiz подключаться к разным базам данных? например: -Party Management => подключиться к базе данных 1 -Catalog Management => подключиться к базе данных 2 -Работа в том же экземпляре приложения Ofbiz. Мой план состоит в том, чтобы создать арендаторов в OFbiz и подключить различные части OFBiz к арендатору, в то время как другие подключаются к стандартной/исходной базе данных OFBiz.
Могут ли разные части приложения OFBiz подключаться к разным базам данных?
Ответы (1)
Короче говоря, да, вы можете, а длинный ответ, вероятно, вы не хотите этого делать из-за существующих зависимостей между приложениями на уровне объекта.
Сначала вы должны понять, как все это сочетается друг с другом: Сущности Ofbiz обычно определяются в entitymodel.xml и упоминаются в ofbiz-component.xml. Большинство существующих компонентов имеют только этот уровень конфигурации. В такой конфигурации объекты принадлежат к группе по умолчанию с названием «org.ofbiz». Затем в entityengine.xml группа назначается источнику данных:
<group-map group-name="org.ofbiz" datasource-name="localpostgres"/>
Вот как таблица назначается группе, затем группа назначается базе данных.
Итак, чтобы назначить все объекты из компонента новой базе данных, вам нужно сделать:
Создайте новое определение группы сущностей в каждом компоненте и назначьте сущности этой группе:
<entity-group group="org.ofbiz.tenant" entity="Tenant"/>
Ссылка на определение группы из ofbiz-component.xml
<entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup.xml"/>
В entityengine.xml назначьте новую группу другому источнику данных:
<group-map group-name="org.ofbiz.tenant" datasource-name="localpostgres"/>
В качестве примера взгляните на группы olap и tenant.
Вы можете выполнить описанные выше шаги и разместить свои объекты в отдельной базе данных, если вы создаете новый компонент или если вы хотите сделать это для компонентов в специальной папке. Если вы хотите сделать это с существующим компонентом из папки фреймворка или приложений (например, с упомянутым вами компонентом контента), вы заметите, что компоненты имеют зависимости (отношения сущностей), и перемещение некоторых сущностей в отдельную базу данных нарушит это.