Hi Taher, Just subscribed and (re)posted there. regds mallah. On Mon, Mar 12, 2018 at 9:17 PM, Taher Alkhateeb <[email protected] > wrote:
> This seems to be a topic more appropriate to the development mailing > list since you're suggesting changes to design. > > On Mon, Mar 12, 2018 at 5:09 PM, Shi Jinghai <[email protected]> wrote: > > Amazing idea. > > > > Unfortunately the lovely MariaDB and TiDB doesn't support the pg style > schema. > > > > -----邮件原件----- > > 发件人: Rajesh Mallah [mailto:[email protected]] > > 发送时间: 2018年3月12日 16:16 > > 收件人: [email protected] > > 主题: schema support for tenant data sources > > > > Hi , > > > > > > I felt the need for using schema of existing databases for holding > tenant data. > > > > Currently the command eg: > > > > ./gradlew createTenant -PtenantId=tenant001 -PtenantName="My Tenant 001" > -PdomainName=tenant001.example.com > > -PtenantReaders=seed,seed-initial,ext > > -PdbPlatform=P -PdbIp=127.0.0.1 > > -PdbUser=ofb_tenant001 > > -PdbPassword=ofbiz@tenant > > > > > > creates following data sources in tenant_data_source table. > > > > ---------+------------------------------------------------ > > tenant_id | tenant001 > > entity_group_name | org.apache.ofbiz > > jdbc_uri | jdbc:postgresql://127.0.0.1/ofbiz_tenant001 > > jdbc_username | ofb_tenant001 > > jdbc_password | ofbiz@tenant > > -[ RECORD 2 ]---------+------------------------------------------------ > > tenant_id | tenant001 > > entity_group_name | org.apache.ofbiz.olap > > jdbc_uri | jdbc:postgresql://127.0.0.1/ofbizolap_tenant001 > > jdbc_username | ofb_tenant001 > > jdbc_password | ofbiz@tenant > > > > ----------------------------------------------------------------- > > > > I feel IF the command and entity TenantDataSource are extended to allow > specification of *database *and *database-schema * it shall be very useful > in certain use cases. > > > > > > schemas in databases allow a level of compartmentalization between > database and tables . The advantage of having schema over separate > databases is that it allows joining of tables across schemas whereas cross > database joins are not supported well in many databases. > > > > In current use case I had housed the ofbiz entities in a schema of a > database and utilized the schema-name attribute of <datasource/> element > in entityengine.xml. In the same database other schema was being used to > store non-OFBiz custom entities. > > > > Since current tenant_data_source does not allows specification of schema > > > > it shall be difficult to use that dataset as a part of multi-tenant > setup. > > > > Fortunately PostgreSQL supports a feature that shall be the basis of an > work-around to deal with this situation. It allows to set a config > parameter at per user level. > > > > This feature can be exploited set set the search_path of a given user so > that a user "sees" only that schema in DB. > > > > given the fact that <datasource/> allows specification of schema and DB > in entityengine.xml i feel it should be possible. > > > > > > regds > > mallah. >
