将 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的主要内容,如果未能解决你的问题,请参考以下文章

将现有 MySQL 列更改为 JSON 数据类型

使用 Hibernate 将数据库从 mysql 更改为 oracle

将 Django 数据库后端从 MySql 更改为 PostgreSQL

如何在mysql中使用laravel迁移将数据库列'null'更改为'nullable'?

将数据库从 MySQL 更改为 SQLite 后出现 Java 项目错误

将列名更改为 MySQL 表中的第一行