如何将OFBIZG的默认数据库更改mysql的方法(只求参考 )

ofbiz自带的数据库是Derby,这是一种小型的适合与测试系统的数据库,但不适合在产品级系统中使用,所以通常我们需要将ofbiz迁移到其它数据库上,下面我就以如何迁移至mysql为例,向大家讲述数据库迁移过程,迁移至其它数据库的过程类似.
    第一步:修改entityengine.xml文件.
    该文件的位置是
    ofbiz_home\framework\entity\config\entityengine.xml
    首先,在该文件的56行左右找到以下代码:
    <delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">
        <group-map group-name="org.ofbiz" datasource-name="localhsql"/>
        <group-map group-name="org.ofbiz.odbc" datasource-name="localderbyodbc"/>
    </delegator>
    将以上代码中<group-map group-name="org.ofbiz" datasource-name="localhsql"/>
改成<group-map group-name="org.ofbiz" datasource-name="localmysql"/>
    其次,在文件的250行左右找到如下代码:
    <datasource name="localmysql"
    ....
    </datasource>
    将其中的               
    jdbc-username="opentaps"
    jdbc-password="opentaps-password"
    改成数据库的用户名和密码,在该例中,我们保持该用户名和密码不变,即用该用户名和密码在数据库中创建用户.
    至此,对ofbiz框架的改造完成,很简单吧,呵呵^_^
 
    第二步:配置mysql.
mysql -u root -h 127.0.0.1 -p   //登录mysql,然后会提示输入密码
mysql> create database opentaps;   //创建数据库opentaps
mysql> create user opentaps;    //创建用户opentaps,对应entityengine.xml里的用户
mysql> grant all privileges on opentaps.* to 'opentaps'@'localhost' identified by 'opentaps-password' with grant option;  //授予opentaps用户访问opentaps数据库的所有权限,密码设为opentaps-password.
    第三步:创建种子数据.
    进入opentaps根目录后执行命令ant run-install-seed即可,然后ofbiz的实体引擎会根据entityengine.xml里设置的默认数据库将种子数据加载到指定的数据库mysql里,这是一个比较漫长的过程,因为要创建700多张表,以及表间的关系,大概需要6分钟左右.build过程结束后,你可以进入mysql察看opentaps数据库,你会发现多了700多张表.
    至此,数据库迁移也就结束了,总结一下,包含两个主要步骤,第一:修改ofbiz_home\framework\entity\config\entityengine.xml文件,将默认数据库设为mysql,并设定访问数据库的用户名和密码;第二:在mysql中为ofbiz创建数据库和用户,该用户名和密码要和entityengine.xml里的用户名和密码一致,并授予该用户访问该数据的所有权限.然后用ant运行命令ant run-install-seed命令把ofbiz重新build一遍即可在数据库中创建所有的种子数据.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值