この記事はレガシー記事です。 以前のバージョンのLiferay製品にも適用されます。 記事がメンテナンスされなくなったとはいえ、まだ該当する可能性があります。
ドキュメントを10番目のバージョンに更新すると、以下のようなエラーが表示されることがあります。
ERROR [JDBCExceptionReporter:101] ORA-00001: unique constraint (LIFERAYTEST.IX_2F8FED9C) violated
決議
ファイルバージョンが計算されると、最後のエントリがデータベーステーブルdlfileversionから読み込まれます。 FileVersionVersionComparatorは、SQLの最後に次のように追加します: order by version DESC.
フィールドのバージョンは "文字列 "であるため、常に最新のバージョンがピックアップされるとは限りません。 例えば、の文字列 の値として比較すると、バージョン1.10は1.2よりも低くなります。
バージョン1.10をアップロードすると以下のようになります。
- 最後のdbのバージョンは1.9なので、新しい計算値は1.10になります。
- DLFileVersion 1.10がデータベースに保存されます。
- 最後の DLFileVersion がデータベースから読み込まれますが、比較器によると 1.9 (ではなく 1.10) です。
- DlFileEntryがバージョン1.9に更新されました。
- 次にファイルをアップロードしようとすると、バージョン1.10の新しいDLFileVersionエントリを保存しようとする重複制約例外が発生します。
この問題を解決するには、 LPS-13835から解決策を要求するヘルプ センターのチケットを開いてください。