意味のあるスキーマのバージョン管理
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。
データスキーマのバージョンは好きなように自由に設定できます。しかし、それらは意味を提供するときに最も役立ちます。 Liferayのデータスキーマバージョン規則は、スキーマとソフトウェアの古いバージョンとの互換性を伝えます。 スキーマの変更により、既存のソフトウェアとの互換性が維持されるかどうかがわかります。 たとえば、新しいデータスキーマによってソフトウェアが期待するフィールドが削除されると、スキーマによって互換性が失われます。 ただし、新しいスキーマの変更が中断しない場合(たとえば、新しいフィールドを追加する場合)、スキーマは互換性があり、既存のソフトウェアで使用できます。 Liferay DXP 7.1以降、Liferayは意味のあるスキーマバージョン規則( セマンティックバージョニング類似)を使用して、新しい アップグレードステップ を定義し、スキーママイクロバージョンのロールバックをサポートします。 規則はオプションですが、データスキーマの下位互換性を追跡します。
Liferayのスキーマバージョン規則は次のとおりです。
メジャー・マイナー・マイクロ
各部分は何かを意味します:
MAJOR: 既存のコードの最新バージョンと互換性のない最新のスキーマ/データ変更が含まれています。
マイナー: 既存のコードの最新バージョンと互換性のあるスキーマ/データの変更が含まれています。 通常、変更には新しい機能のサポートが含まれます。
MICRO: 既存のコードの最新バージョンと互換性のあるスキーマ/データの変更が含まれています。
次に、ミクロ、マイナー、メジャーの変更の具体例をいくつか示します。
マイクロチェンジの例
一般的なミクロの変更点は次のとおりです。
VARCHAR
フィールドサイズを増やす 。- DBインデックスの変更。
- 現在のロジックに適応するようにデータ値を変更します。 これらには、下位互換性のあるデータの変更のみが含まれます。 これらの変更は通常、新しい機能のためにデータの更新を見逃したときに発生します。
- フィールドにレコードがほとんどなく、
DISTINCT
またはGROUP BY
SQL句で使用されていない限り、フィールドを文字列からCLOBに変換します。
マイナーチェンジの例
一般的な小さな変更点は次のとおりです。
- 新しいDBフィールドを追加します。
- 新しいDBテーブルを作成します。
主な変更例
一般的な主な変更点は次のとおりです。
- DBフィールドの削除
- DBテーブルの削除。
- 列名の変更。
VARCHAR
フィールドのサイズを減らします。- フィールドを文字列からCLOBに変換します。フィールドには多数のレコードがあるか、
DISTINCT
またはGROUP BY
SQL句で使用されます。
これで、モジュールのデータスキーマに意味のあるバージョンを割り当てることができます。