Liferay 7 Service Builder无法自动更新数据库

时间:2016-12-15 14:48:12

标签: java-ee liferay liferay-7 liferay-service-builder

在我的Liferay 7项目中,Service Builder可以很好地生成文件tables.sql(包含完整的sql),但不会像在Liferay 6.2中那样在SERVICECOMPONENT本机生命周期表中包含此内容。

因此,当我重新启动服务器时,数据库中没有更新,而数据模型已被修改。

我必须手动运行tables.sql中包含的sql脚本来暂时解决问题。

是否有人转载此内容? 是否有任何选项(Liferay 7中的新选项?),我不知道哪种选择会导致这种行为。

注意:当然,选项build.auto.upgrade(在service.properties中)设置为true,并且没有service-ext.properties可以覆盖此

3 个答案:

答案 0 :(得分:6)

是的,关于新版本7,这是一件令人伤心的事情。社区正在等待修复。

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

<强>更新

新版Liferay 7 GA5现在执行数据库升级

答案 1 :(得分:5)

Liferay社区已更新帖子,为此帖添加了步骤

在开发应用程序时,可以通过以下步骤强制修改服务表时重新生成服务表:

  • 删除表格以供您使用。
  • 在release_表中删除服务的行。
  • 在servicecomponent表中删除服务的行。

以下是SQL中的一个示例:

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

请按照此link了解详情

感谢Daniele Baggio指点。

答案 2 :(得分:2)

Liferay 7中的已知错误

You need to delete entries in 
servicecomponent & release_