【问题标题】:Change database in Liferay with losing any data在丢失任何数据的情况下更改 Liferay 中的数据库
【发布时间】:2015-07-03 03:22:42
【问题描述】:

截至今天,我正在使用默认的 hsql 数据库开发 liferay 门户增强功能。我已经实现了许多功能,并创建了具有不同角色和用户的多个站点和站点模板。

1) 现在我想将数据库从 hsql 数据库更改为 PostgreSQL。现在如何在丢失任何数据(站点、用户、角色和站点模板)的情况下更改数据库?

2) 我有一个 Web 应用程序,它部署了另一个 tomcat 实例。现在我想从 servlet 执行 liferay 数据库事务。交易意味着需要根据 emailId 或 ScreenName 获取用户详细信息?

任何人都可以确认我该如何完成上述任务,如果有人建议一些有用的教程。程序来做同样的事情,将非常感激。

【问题讨论】:

    标签: liferay hook liferay-6 portlet liferay-theme


    【解决方案1】:

    1.) 您可以通过控制面板迁移数据。导航到服务器管理,有一个选项卡:数据迁移。您提供新数据库的凭据并点击提交。就这样。 2.) 老实说,我不明白你的第二个问题。

    【讨论】:

    • 我可以从我的 servlet 编写 sql 查询来从 USER_ 表和其他表中获取值吗?
    • 是的,但我不鼓励您这样做。更好的方法是使用 liferay 提供的网络服务。
    • 您的意思是 Web 服务是指服务构建者?
    【解决方案2】:

    要将您的数据库从 hsql 更改为 PostgreSQL,最好的选择是更改门户的 portal-ext.properties:

    #
    # PostgreSQL Config
    #
    jdbc.default.driverClassName=org.postgresql.Driver
    jdbc.default.url=jdbc:postgresql://localhost:5432/***databasename***
    jdbc.default.username=
    jdbc.default.password=
    

    或者在你的 /tomcat/conf/context.xml 你可以定义一些这样的:

     <Resource auth="Container" driverClassName="org.postgresql.Driver" maxActive="20" name="jdbc/LiferayPool" password="" type="javax.sql.DataSource" url="jdbc:postgresql://localhost:5432/**database name**" username=""/>
    

    对于第二个问题,我认为您可以使用 Liferay 网络服务。您可以在门户相对 url 中看到它们:

    /api/jsonws

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-23
      相关资源
      最近更新 更多