6.2.3 クラスの削除(オブジェクトが存在しない場合)
オブジェクトが存在しないクラスを削除するには,メタ情報の削除コマンド(EDMDelMeta)によってクラスの定義の削除,およびクラスに対応する表を削除するデータベース定義文の生成を実行します。
ただし,基本単位がVariableArray型のプロパティの要素を格納するために定義するedmClass_Structクラスのサブクラスの削除は,次に示す条件を満たしている必要があります。
- edmClass_Structクラスのサブクラスの削除の条件
- 削除するedmClass_Structクラスのサブクラスを要素とする,基本単位がVariableArray型のプロパティを定義しているクラスが存在しない。
条件に満たないedmClass_Structクラスのサブクラスだけの削除は,行わないでください。
オブジェクトが存在しないクラスを削除する手順を次に示します。
- メタ情報のバックアップを取得します。
「6.2.2(1) クラスの追加手順」のメタ情報のバックアップの取得に関する記述を参照してください。
- データベースのバックアップを取得します。
クラスに対応する表を削除するので,データベースのバックアップを取得します。バックアップを取得する必要があるRDエリアについては,マニュアル「HiRDB システム運用ガイド」の,障害発生に備えた運用に関する説明での,定義系SQL「DROP TABLE」の実行についての記述を参照してください。
- メタ情報の削除コマンド(EDMDelMeta)を実行します。
メタ情報の削除コマンド(EDMDelMeta)でクラスの定義を削除します。
メタ情報の削除コマンド(EDMDelMeta)の-rオプション,-sオプションおよび-oオプションを指定して実行します。-oオプションにはクラスに対応する表を削除する定義系SQL「DROP TABLE」を格納するデータベース定義文格納ファイルを指定します。
メタ情報の削除コマンド(EDMDelMeta)は,削除するクラスに対して次に示す条件を満たすプロパティを定義している場合,基本単位がVariableArray型のプロパティの要素を格納するために定義しているedmClass_Structクラスのサブクラスに対応する表を削除する定義系SQL「DROP TABLE」を出力します。
- 基本単位がVariableArray型のプロパティが存在する。
- 基本単位がVariableArray型のプロパティの要素をクラスに対応する表とは別の表に格納する指定である。
- ほかのクラスで基本単位がVariableArray型の同じプロパティの定義を使用していない。
この場合,基本単位がVariableArray型のプロパティの要素を格納するedmClass_Structクラスのサブクラスも削除してください。
基本単位がVariableArray型のプロパティを定義しているクラスを削除する場合,メタ情報の削除コマンド(EDMDelMeta)が出力するデータベース定義文については,「6.2.7 メタ情報の追加・削除コマンドの動作」を参照してください。
- データベース定義ユティリティを実行します。
手順3.で作成したデータベース定義文を入力ファイルとして指定し,HiRDBのデータベース定義ユティリティ(pddef)を実行して,クラスに対応する表を削除します。詳細については「6.2.2(1) クラスの追加手順」のデータベース定義ユティリティの実行に関する記述を参照してください。
- クラス定義情報ファイルを作成します。
削除したクラスの定義を反映したクラス定義情報ファイルをDocumentBroker オブジェクト操作ツールの動作環境に配置します。詳細については,「6.2.2(1) クラスの追加手順」のクラス定義情報ファイルの作成に関する記述を参照してください。
- DocumentBroker Object Loaderの入力データを作成します。
削除したクラスの定義を反映したDocumentBroker Object Loaderの入力データを作成します。入力データは,DocumentBroker Object Loaderを使用している場合に,クラス定義と入力ファイルを一致させるために作成します。詳細については,「6.2.2(1) クラスの追加手順」のDocumentBroker Object Loaderの入力データに関する記述を参照してください。