Liferay 7服务构建器不会自动更新数据库。

4
在我的 Liferay 7 项目中,Service Builder 可以生成包含完整 SQL 的 tables.sql 文件,但不像 Liferay 6.2 那样将其内容包含在 SERVICECOMPONENT 原生的 liferay 表中。
因此,当我重新启动服务器时,数据库中没有更新,尽管数据模型已经被修改过了。
我必须手动运行 tables.sql 中包含的 SQL 脚本来暂时解决这个问题。
有人遇到过类似的问题吗?是否有任何新选项(Liferay 7 中新增的?)可能导致这种行为?
注:当然,build.auto.upgrade(在 service.properties 中)选项设置为 true,并且不存在覆盖它的 service-ext.properties。
3个回答

8

Liferay社区已更新这篇文章并添加了相关步骤:

在开发应用程序时,如果您修改了服务表,可以按照以下步骤强制重新生成服务表:

  • 删除您的服务的表。
  • 删除release_表中您的服务的行。
  • 删除servicecomponent表中您的服务的行。

以下是SQL示例:

DROP TABLE LRBO_HORSE_HORSE;
DELETE FROM SERVICECOMPONENT WHERE BUILDNAMESPACE = 'LRBO_HORSE';
DELETE FROM RELEASE_ WHERE SERVLETCONTEXTNAME = 'horse-service';

请点击此链接获取更多详细信息。

感谢Daniele Baggio提供的指导。


7

是的,关于新版本7.0的问题确实令人遗憾。社区正在等待修复。

请关注并投票支持:https://issues.liferay.com/browse/LPS-67688

更新

Liferay 7.0 GA5版本现在可以执行数据库升级。


好的,谢谢你的回答。 这样的功能居然不起作用,真是太糟糕了! - Vincent
确实,这很遗憾。 - Daniele Baggio

3

Liferay 7已知的一个bug

You need to delete entries in 
servicecomponent & release_ 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接