ロールバックと削除の復旧
ロールバックコンテキストを使用すると、パッチのアップグレード、プラグインのアクティブ化、バックグラウンドスクリプトの実行などの特定のアクションをロールバックでき、レコードの削除と関連するすべての変更を復元できます。
| データベースタイプ | ロールバック | 削除の復旧 |
|---|---|---|
| MySQL | はい | はい |
| MariaDB | はい | はい |
| Oracle | はい | いいえ |
削除されたレコードモジュール
このモジュールは、監査対象テーブルのレコードに対して機能します。カスケードされた削除済みレコードの復旧は、レコードの削除から 7 日以内に行う必要があります。7 日が経過すると、削除を監査するテーブルのデータレコードと参照のみを復元できます。これは以前のリリースと同じ機能です。
このモジュールを見つけるには、次の場所に移動します。 .
削除の復旧モジュール
このモジュールは、削除されたすべてのレコードに対して機能します。この復旧は、レコードの削除から 7 日以内に行う必要があります。
このモジュールを見つけるには、次の場所に移動します。 .
スクリプト実行履歴モジュール
このモジュールは、スクリプト - バックグラウンドモジュールを使用して実行されるスクリプトで動作します。この履歴には、7 日間のスクリプト実行のみが含まれます。
このモジュールを見つけるには、次の場所に移動します。 .
ロールバックコンテキスト
ロールバックコンテキストには、ソフトウェアのアップグレードまたはプラグインのアクティブ化をロールバックするために必要なものがすべて含まれています。これには、削除されたレコード、パッチの更新、スクリプト - バックグラウンドスクリプトの実行、データベースアクション、およびプラグインのアクティブ化が含まれます。ロールバックコンテキストは、ファミリ内のパッチアップグレードごとに作成されます。また、プラグインがロールバックコンテキストをサポートしている場合には、プラグインのアクティブ化ごとにも作成されます。
ロールバックコンテキストを使用するには、削除済みレコードの復元プラグインと削除の復旧プラグインをアクティブ化します。
ロールバックは通常、アップグレードで問題の根本原因を見つける前に機能を復元する必要がある本番前のインスタンスで実行されます。ロールバックするとデータが削除されるため、ロールバックが必要になった問題を見つけにくくなることがよくあります。
- GlideRecord.delete() または GlideRecord.deleteMultiple() でレコードを削除した場合。
- パッチのアップグレードが行われた場合。
- ロールバックコンテキストをサポートするプラグインをアクティブ化した場合。
- スクリプト - バックグラウンドモジュールを使用してスクリプトが実行され、[ロールバック用に記録] チェックボックスをオンにすることでロールバックが有効になっていた場合。
ロールバックは他のデータベースアクティビティに影響を与えません。データベースアクティビティがロールバックコンテキストの一部であるレコードを変更する場合、ロールバックはそのレコードに影響を与えません。
ロールバックコンテキストには大量のデータが含まれているため、ロールバックコンテキストは 10 日後に削除されます。したがって、ロールバックは最新のアップグレードから 10 日以内に実行する必要があります。システムプロパティ glide.rollback.expiration_days_upgrade を使用して日数を設定します。ロールバックタイプのリストを表示するには、「パッチのアップグレードまたはプラグインのアクティブ化のロールバック」を参照してください。
このモジュールを見つけるには、次の場所に移動します。 .
ロールバック中に次の操作のいずれかが発生した場合、ロールバックコンテキストは作成されません。
- テーブルまたは列がスキーマから削除される。 注:インデックスの削除は問題ありません。
- テーブルの切り捨て。
- テーブルまたは列の名前の変更。
- 列の親の変更または昇格。
- 列タイプの変更。
- 列幅の縮小。
- 報告された WAR をロールバック後のバージョンに更新します。割り当てられた WAR はロールバック前のバージョンに設定されたままです。
- インスタンスのプロパティ glide.war.no_upgrade をロールバック前のバージョンに設定します。
- メッセージ「必要な WAR はプロパティ [glide.war.no_upgrade] で指定された復旧済み WAR と一致します。(Desired war matches reverted war specified by property.) アップグレードスクリプトは実行されません。(Upgrade script will NOT run)」を表示します。
- ステータスを [期限切れ (Expired)] に変更します。保存されたデータはロールバックによりすべて消去されます。