2013-03-23 3 views
1

OFBiz 응용 프로그램의 다른 부분을 다른 데이터베이스에 연결할 수 있습니까? 예 : - 파티 관리 => 데이터베이스 1에 연결 - 카탈로그 관리 => 데이터베이스 2에 연결 - Ofbiz 응용 프로그램의 동일한 인스턴스에서 작업 중입니다. 나의 계획은 OFbiz에 세입자를 만들고 OFBiz의 다른 부분을 세입자와 연결하는 반면, 다른 사람들은 기본/원래 OFBiz 데이터베이스에 연결하는 것입니다.OFBiz 응용 프로그램의 다른 부분을 다른 데이터베이스에 연결할 수 있습니까?

답변

4

짧은 답변입니다. 엔터티 수준에서 기존의 내부 응용 프로그램 종속성으로 인해 오랫동안 대답하지 않으실 수도 있습니다.

먼저 모든 요소가 어떻게 잘 맞는지 이해해야합니다. Ofbiz 엔티티는 일반적으로 entitymodel.xml에 정의되고 ofbiz-component.xml에서 참조됩니다. 대부분의 기존 구성 요소에는이 구성 수준 만 있습니다. 이러한 구성에서 엔티티는 "org.ofbiz"라는 기본 그룹에 속합니다. 그런 다음 entityengine.xml 파일의 그룹은 데이터 소스에 할당됩니다

<group-map group-name="org.ofbiz" datasource-name="localpostgres"/> 

이 테이블이 그룹에 할당하는 방법이다가, 다음 그룹은 데이터베이스에 할당됩니다.

  1. 각 구성 요소에 새로운 엔티티 그룹 정의를 작성하고 해당 그룹에 엔티티를 지정 : <entity-group group="org.ofbiz.tenant" entity="Tenant"/>

  2. 그래서

    모든 기관은 당신이 무엇을해야 새로운 데이터베이스 구성 요소를 형성 할당
  3. 참조하는 ofbiz-component.xml에서 그룹 정의 entityengine.xml 파일에서 <entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup.xml"/>

  4. 는 다를 새로운 그룹을 할당 천만에 데이터 소스 : 예를 들어 <group-map group-name="org.ofbiz.tenant" datasource-name="localpostgres"/>

은 OLAP 및 세입자 그룹을 살펴 있습니다.

새 구성 요소를 만들거나 specialpurpose 폴더의 구성 요소에 대해 수행하려는 경우 위의 단계를 수행하고 별도의 데이터베이스에 엔티티가있을 수 있습니다. 앞서 언급 한 콘텐츠 구성 요소와 같이 프레임 워크 또는 응용 프로그램 폴더의 기존 구성 요소에이 작업을 수행하려는 경우 구성 요소가 종속성 (엔터티 관계)을 가지며 일부 엔터티를 별도의 데이터베이스로 이동하면 해당 구성 요소가 중단된다는 것을 알 수 있습니다.

+0

감사합니다. 그 문제에 대한 당신의 통찰력이 정말로 도움이되었습니다. 우리는 권고 된대로 우리의 의도 된 접근법을 추구하지 않기로 결정했습니다. –

+0

매우 도움이됩니다 ... – sagar

관련 문제