如何使用Liferay中的默认数据填充数据模型?

时间:2012-05-04 22:24:58

标签: database liferay

我正在开发一个部署为WAR的portlet。数据库模型由服务构建器创建。如何在安装WAR时将初始数据模型插入​​数据库?

3 个答案:

答案 0 :(得分:1)

您可以将此作为StartupAction,在插件启动时执行(读取:部署期间和后续服务器启动期间)或作为UpgradeAction。

一个很好的例子是Liferay CE附带的sevencogs-hook,包含源代码。这是作为UpgradeAction实现的 - 例如首次启动时,您的数据库内容将“升级”以包含sevencogs示例数据。

答案 1 :(得分:1)

使用属性

向项目添加portal.properties文件
application.startup.events=com.my.project.MyStartupAction

并将启动导入视为SimpleAction的扩展:

package com.my.project;

import com.liferay.portal.kernel.events.ActionException;
import com.liferay.portal.kernel.events.SimpleAction;

public class MyStartupAction  extends SimpleAction {

    @Override
    public void run(String[] arg0) throws ActionException {
        if(startupDataNotExist()) {
            createStartupData();
        }
    }
...

答案 2 :(得分:0)

您也可以使用UpgradingProcess来完成此操作。 Here是分步说明