将 hybris 数据库更改为 MySQL
Posted
技术标签:
【中文标题】将 hybris 数据库更改为 MySQL【英文标题】:Changing the hybris database to MySQL 【发布时间】:2015-01-27 03:06:11 【问题描述】:我刚刚完成了作为核心开发人员的 hybris 培训。我已经完成了所有的路径,并且很快就会有一个项目,但现在我想稍微调整一下系统以了解更多信息。我的意思是我想将数据库更改为 mysql,但是当我在 hybris 平台上更改这些文件 project.properties 和 local.properties 上的设置时。
但问题是,当我再次尝试运行 hybris 服务器时,它给了我一个异常,如下所示:
【问题讨论】:
【参考方案1】:如果您想连接到 MySQL,您只需更改 hybris/config/local.properties
中的配置。
db.url=jdbc:mysql://localhost/hybris
db.driver=com.mysql.jdbc.Driver
db.username=anything but not "root"
db.password=
mysql.allow.fractional.seconds=true (if you're using MySQL 5.6.4 or later)
自 hybris Commerce Suite 版本 5.0.2 起,MySQL 连接器未随 hybris Commerce Suite 一起提供。请下载file并将其放入文件夹$HYBRIS_BIN_DIR/platform/lib/dbdriver
v6 更新
现在mysql.allow.fractional.seconds=true
已经存在于平台的 project.properties 中。
为了避免锁,你可以在 mysql 配置中添加:
transaction_isolation=READ-COMMITTED
innodb_autoinc_lock_mode = 2
innodb_locks_unsafe_for_binlog=1
参考 v5:https://wiki.hybris.com/display/release5/MySQL 参考 v6:https://help.hybris.com/6.5.0/hcd/f691bdde96354baaa03ff0e33becf515.html
【讨论】:
看起来 Aph1ka 确实设法连接到 MySQL。但是她的 hybris 应用程序的某些部分正试图插入一个对于键来说太长的值。 这是真的 Henrique,我已经应用了 Alain 的建议......但问题是服务器抛出的异常以及它抱怨的密钥是由 hybris 自动生成的:(跨度> @Aph1ka 所以你以前安装了 HSQLDB,你把 DB 切换到了 Mysql,现在你不能启动 hybris,对吗?在启动 hybris 之前,您是否尝试过运行ant clean all
然后运行 ant initialize
?
@alain 是的,我这样做了,我也做了 ant clean,没有任何变化,现在我正在考虑按照其他来源的建议增加数据库上的 innoDB 最大字节数和 utf 编码。 .. 并感谢兄弟在这件事上和我在一起。
@Mikaveli 根据文档:This flag allows to create datetime columns which support fractional seconds. For more information, see https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-4.html With MySQL 5.6.4 (or later) the mysql.allow.fractional.seconds property must be defined. Otherwise java.util.Date columns may behave in the strange way of date values getting rounded up ( means into the future ) instead of being truncated.
【参考方案2】:
不要忘记使用“ant all”构建服务器。如果不构建服务器,则不会应用配置。
【讨论】:
以上是关于将 hybris 数据库更改为 MySQL的主要内容,如果未能解决你的问题,请参考以下文章
使用 Hibernate 将数据库从 mysql 更改为 oracle
将 Django 数据库后端从 MySql 更改为 PostgreSQL
如何在mysql中使用laravel迁移将数据库列'null'更改为'nullable'?