ofbiz自带的数据库是Derby,这是一种小型的适合与测试系统的数据库,但不适合在产品级系统中使用,所以通常我们需要将ofbiz迁移到其它数据库上,下面我就以如何迁移至mysql为例,向大家讲述数据库迁移过程,迁移至其它数据库的过程类似.
第一步:修改entityengine.xml文件.
该文件的位置是
ofbiz_homeframeworkentityconfigentityengine.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_homeframeworkentityconfigentityengine.xml文件,将默认数据库设为mysql,并设定访问数据库的用户名和密码;第二:在mysql中为ofbiz创建数据库和用户,该用户名和密码要和entityengine.xml里的用户名和密码一致,并授予该用户访问该数据的所有权限.然后用ant运行命令ant run-install-seed命令把ofbiz重新build一遍即可在数据库中创建所有的种子数据.

[转载]如何将OFBIZ(opentaps)默认数据库迁移至mysql((2的更多相关文章

  1. Oracle 数据库迁移到MySQL (kettle,navicate,sql developer等工具

    Oracle 数据库迁移到MySQL (kettle,navicate,sql developer等工具 1 kettle --第一次使用kettle玩迁移,有什么不足之处和建议,请大家指正和建议. ...

  2. 从其他数据库迁移到MySQL及MySQL特点

    从其他数据库迁移到MySQL Oracle,SQL Server迁移到MySQL 一些变化 不再使用存储过程.视图.定时作业 表结构变更,如采用自增id做主键,以及其他语法变更 业务SQL改造,不使用 ...

  3. 将sqllite3数据库迁移到mysql

    一.安装python mysql module (OneDrive): 1.运行python D:\OneDrive\Work\django\mysqlregistry.py2.http://www. ...

  4. MySQL数据库迁移与MySQL数据库批量恢复

    目录 一.MySQL数据库迁移或备份 1. 了解使用InnoDB引擎创建数据库所产生的文件 2. 迁移数据库步骤 1. 从A服务器迁移至B服务器 2. MySQL重装并导入之前数据库 二.MySQL数 ...

  5. InterBase数据库迁移到MySQL(恢复备份)

    我拿到的是InterBase导出的“.gbk”后缀的数据库备份文件,目标是可以通过命令行的方式导入到指定的数据库中,在这个脚本中我使用了InterBase数据库中自带的“gbak”命令行来进行操作. ...

  6. mssql数据库迁移到mysql

    使用mysql migration toolkit工具来进行迁移.(需要安装jdk6 java的安装包) 发现数据量大的表却没能迁过来.软件使用比较容易,配置下源数据库信息,和目标数据库信息就可以进行 ...

  7. InterBase数据库迁移到MySQL(数据导入)

    在这个脚本中我使用的是Python的ORM框架SQLAlchemy来连接远程的MySQL数据库的,在写这个脚本的时候为了方便参数的输入,我就给之前和这个脚本添加了一个新的功能,就是在调用这个脚本的时候 ...

  8. InterBase数据库迁移到MySQL(数据导出)

    这篇我将记叙我的第二个脚本程序,这篇我使用InterBase数据库提供的“isql”命令来导出我所要的数据,但是由于“isql”命令没有直接导出数据的语句,说以我采用的是导入一个配置文件,在这个文件中 ...

  9. InterBase数据库迁移到MySQL(说明)

    刚刚到公司1周便接到了第一个需求,进过了几天的沟通明白了是从gbk文件中恢复InterBase数据库,然后再将恢复到数据库中的数据导出到远程的MySQL数据库中,拿到需求先分步去看问题了,问题大致可分 ...

随机推荐

  1. iOS版微信开发小结(微信支付,APP跳转微信公众号)

    最近公司心血来潮,一心要搞微信.废话不多说,直接上干货. 开发前准备: 1.在微信开发者平台获取开发者认证:(一年300元人民币) PS:具体流程按照微信流程指示操作即可,在这就不废话了. 2.下载微 ...

  2. java生成和解析二维码

    前言 现在,二维码的应用已经非常广泛,在线生成器也是诸多,随手生成. 所以就和大家分享一个小案例,用zxing来做一个的二维码生成器,当然这个例子是比较简单,若是写的不好请多多包涵. ZXING项目是 ...

  3. [洛谷P4949]最短距离

    题目大意:给一棵基环树,两种操作: $1\;x\;y:$把第$x$条边长度改成$y$ $2\;x\;y:$查询$x$到$y$的最短距离 题解:发现最短距离只有两种可能,第一个是树上的距离,第二种是经过 ...

  4. MySQL事物机制具备四点:简称ACID操作

    MySQL事物机制具备四点:简称ACID操作 1.原子性:要么都做,要么都不做(两条数据(写入和存储)一步未成功,整体回滚) 2.一致性:数据库的状态改变(两条数据(写入和存储)均成功,符合原子性,但 ...

  5. BZOJ 4710 [Jsoi2011]分特产 解题报告

    4710 [Jsoi2011]分特产 题意 给定\(n\)个集合,每个集合有相同的\(a_i\)个元素,不同的集合的元素不同.将所有的元素分给\(m\)个不同位置,要求每个位置至少有一个元素,求分配方 ...

  6. taotao用户注册前台页面

    注册页面效果: 注册jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  7. 两个神奇的函数~~~sscanf、atoi

    sscanf 对你没有看错 多了一个s 这个函数有什么作用呢 功能:读取字符串中的int.double.long.long long .float and so on 类型的数据 譬如说 我现在读入了 ...

  8. 用Hibernate实现分页查询

    分页查询就是把数据库中某张表的记录数进行分页查询,在做分页查询时会有一个Page类,下面是一个Page类,我对其做了详细的注解: package com.entity; /** * @author:秦 ...

  9. tomcat部署多个项目,通过域名解析访问不同的网站

    转摘自:http://qinyinbolan.blog.51cto.com/4359507/1211064 说明: 1.首先需要有多个域名,同时指向一个IP地址. 例如:域名:www.bbb.com, ...

  10. [Python]简单的外星人入侵游戏

    alien_invasion.py: import sys import pygame from setting import Settings from ship import Ship impor ...