Liferayのデータベース構造を抽出する

問題

  • Liferayのデータベース構造を完全に抽出する必要があります。

Environment

  • Liferay DXP 7.0
  • Liferay DXP 7.1
  • Liferay DXP 7.2

解決策

  • Liferayには、DB構造を抽出するOOTB機能はありません。 ただし、サードパーティツールを使用して、ユーザー自身の判断で同様のことを行うことができます。

追加情報

  • さらに、以下の情報は、 アップグレードプロセスに関連する DB テーブルに関するもので、これは Liferay DB のテーブル構造に関するアイデアを得るためにのみ役立つかもしれません。

    • ジャーナルアーティクル
      • Id_: これはresourcePrimKeyやarticleIdほど有用ではないが、特定の行を絞り込むのに利用できる。
      • resourcePrimKey: ジャーナルArticleを参照する際に、他のテーブルでclassPKとして使用されます。 この欄は、ジャーナルArticleのすべてのバージョンで同じままです。
      • バージョン: ジャーナルへの特定のエントリーのバージョンArticleテーブル。 ほとんどの場合、ユーザーに表示されるのは最高バージョンなので、最高バージョンを気にします。
      • articleId: resourcePrimKeyカラムと同様に、journalArticleのすべてのバージョン間で同じである。 特定のウェブコンテンツを追跡しながらアップグレードする際に多用されています。 articleIdを使用して、バージョンを1つのエンティティにグループ化します。
    • DDM
      • DDMStructure
        • structureId: DDMStructure の一次識別子として使用され、他のテーブルで参照される際には classPK として使用されます。
        • classNameId: JournalArticle、DDLRecordset、KaleoProcessなど、この構造が関連するエンティティの種類を示す。
        • version(7.0+)です: DDMStructureの現在のバージョンで、この表で示されるバージョンは常に最新となります。
        • の定義に従います: DDMStructureの背後にある実際の構造。7.0+では、これは構造のためのコードを持つJSONまたはXMLオブジェクトである。
        • storageType: 定義カラムに使用されるストレージの種類を知らせます。 通常、7.0以上ではJSON、6.2以下ではXMLとなります。
      • DDMTemplate(ディーディーエムテンプレート
        • templateId: DDMTemplateの一次識別子として使用され、他のテーブルで参照される際にはclassPKとして使用されます。
        • classNameId: DDMTemplateに関連するエンティティのタイプを参照する。
        • classPK: この DDMTemplate に関連する特定のエンティティへの参照。
        • version(7.0+)です: DDMTemplateの現在のバージョンで、この表で示されるバージョンが常に最新となります。
        • 言語です: スクリプトが書かれている言語
        • スクリプトを使用します: 構造体を表示するために使用するテンプレートスクリプト
    • ドキュメントライブラリ
      • DLFileEntry
        • fileEntryId: DLFilentry テーブルの一次識別子であり、他のテーブルの classPK としても使用される。
        • classNameIdです: DLFileEntryがblogなどの他のエンティティに関連付けられる場合、classNameIdに値が入る。 この DLFileEntry に関連するエンティティが存在しない場合、この値は 0 となる。
        • classPK: classPK 列に値がある場合、この DLFileEntry が関連付けられている特定のエンティティを表す。 関連するエンティティが存在しない場合、この値は0になります。
        • repositoryId: このドキュメントが格納されているリポジトリのID。
        • folderId: このドキュメントが格納されているフォルダのID。
        • treePath: ドキュメントのファイルパス構築の一部として使用される。
        • fileNameを指定します: ファイルの名前。ドキュメントのファイルパスを構築するためにも使用されます。
      • DLFileVersion
        • fileVersionId: DLFileVersionの一次識別子である。
        • repositoryId: このドキュメントが格納されているリポジトリのID。
        • folderId: このドキュメントが格納されているフォルダのID。
        • treePath: ドキュメントのファイルパス構築の一部として使用される。
        • fileEntryId: バージョンが割り当てられている DLFileEntry の ID を示す。
        • fileNameを指定します: ファイルの名前。ドキュメントのファイルパスを構築するためにも使用されます。
        • バージョン DLFileEntryのバージョン
    • レイアウト
      • plidです: レイアウトの一意な識別子です。
      • layoutId(レイアウトアイディー): これは、指定された会社やグループ、プライベート/パブリック設定の「内部」識別子です。
      • parentLayoutId: このレイアウトが子である場合、これは親レイアウトのidとなります。
      • typeSettings(タイプセッティング): レイアウトの表示方法に関する情報を保持します。 レイアウト上の各ポートレットは、レイアウトがプライベートであるかどうか、このレイアウトが使用するテンプレートの種類などの他の情報とともに、typeSettingsにリストされています。
    • ポレットプリファレンス
      • portletPreferencesId: portletPreferenceの主キーです。
      • ownerType(オーナータイプ): プリファレンスが関連付けられているエンティティのタイプを決定する。 アーカイブ=5、会社=1、グループ=2、レイアウト=3、組織=6、ユーザー=4
      • plid: ownerTypeがレイアウトの場合、plidはレイアウトのplidとなり、それ以外の場合は0となる。
      • portletId: プリファレンスが関連付けられているポートレットの特定のID
      • preferences: ポートレットプリファレンスの保存値で、XMLスタイルで保存されます。
      • リソースパーミッション
      • resourcePermissionId: ResourcePermissionsの一次識別子。
      • のスコープです: resourcePermissionが制限される範囲。 会社=1、グループ=2、グループテンプレート=3、個人=4。
      • name: Model Resource か Portlet Resource かを表します。
      • actionIds: リソース上でロールに割り当てられたすべてのアクションのビット単位の合計値です。
    • クラス名
      • classNameIdです: このテーブルの一次識別子であるclassNameIdは、他のテーブルでも、その行にどのような種類のオブジェクトが格納されているかを判断するために使用されます。
      • 値で表されます: Liferayの様々なオブジェクトの完全なJavaクラス名です。 classNameIdと合わせて使用します。
    • リリース
      • servletContextName: このリリースレコードが関連付けられているモジュール。
      • schemaVersion: このリリースレコードに関連するモジュールが、現在どのスキーマバージョンにあるかを決定します。 これは、アップグレードプロセスが、どのアップグレードプロセスが実行済みで、まだ実行する必要があるのかを判断するために使用されます。
      • verified(7.2以下): このリリースレコードに関連するベリファイ処理が実行されたかどうかを判断します。 1 = 検証済み、0 = 検証していない。
      • の状態です: アップグレードが成功したかどうかを判断します。 0=成功、1=アップグレード失敗、2=ベリファイ失敗(7.2以下)
    • グループ_
      • groupId: グループテーブルの行の主キーとして使用され、他のテーブルでは、エンティティがこのグループに関連付けられていることを示すために使用されます。
      • classNameId: このグループがどのようなタイプのエンティティに関連しているかを決定する。
      • classPK: グループに関連する特定のエンティティ。
      • friendlyURL: ブラウザでグループにアクセスする際のURL
    • 会社名
      • companyId: 各行の一次識別子として使用され、エンティティがどの会社に属するかを決定するために、他のテーブルの識別子としても使用されます。
      • webId: 仮想インスタンスのドメイン
      • mx: メールエクスチェンジサーバーのドメインです。
      • active(アクティブ): 企業が活動中か非活動中かを判断する。 0 = アクティブ、1 = 非アクティブ。
    • ユーザー
      • userId: 各カラムの一次識別子。他のテーブルでclassPKとして使用され、他のテーブルでも、作成したデータに関連するユーザーを見つけるために使用される。
      • のステータスを指定します: ユーザーがアクティブか非アクティブかを判断するものです。 0 = アクティブ、5 = 非アクティブ。

    注:上記のLiferay DBのテーブルの詳細は、Liferay特有のテーブルについてのアイデアを提供するためのものです。 また、これは記録ベースであり、異なるバージョンに準拠して変更される可能性があります。

この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています