一、 手动配置一个 demo
a) 配置好 OFBiz 的主数据库和 tenant 多租户数据库,
配置 default 的主数据库 org.ofbiz 和 tenant 的配置数据库 org.ofbiz.tenant (里面存放的是每个 tenant 的数据库配置、默认的模块等信息),这里已 mysql 数据库为案例,下面的具体配置就不贴了,就是默认的。
b) 配置一个 demo 的 tenant
打开 OFBIZ-HOME/framework/entity/data/TenantDemoData.xml.xml 配置这个 demo tenant 的数据库配置,如下
这里需要注意的是,如果使用mysql数据库的话,必须提前创建好数据库,mysql不知道有没有自动创建数据库的功能,我没找到,到时候可以使用shell或者其他方式来做。并且在TenantDataSource标签的entityGroupName属性不能写org.ofbiz.tenant
c) load-demo 后,会在 tenant 的配置数据库中写入所有的 tennat 的配置,包括数据库信息,可以使用的组件信息等等
d )接下来就可以把 demo ( seed , demo 等)数据导入到所属的 tennat 的数据库中,该 tennat 就可以登录了,可以在 framework/common/config/general.properties中把 multitenant 属性改成 Y ,登录框就会出现 tennatId
二、 ant
a) create-tenant 创建一个 tenant ,输入对应 id , name ,以及数据库名,帐号密码等信息,而且还有 create-tenant-on-MySQL 直接创建到 mysql 的(必须先创建好数据库),这个命令在创建后会自动导入 admin 用户可以登录
添加 tenant 的模板 AdminNewTenantData-MySQL.xml
b) load-demo-by-tenantId 这个是我后来加的,原本的命令是创建固定的几个 demo ,创建好 tenant 之后,运行这个服务,填入新增的 tenantId 之后,就可以为这个 teanant 创建一份 demo 数据。