DbCleaner API
DbCleaner APIは、データベースの空き領域を確保するための機能を提供します。以下の操作を可能にするアクションを使用してこれを実現します。
- いずれかのアプリケーションで使用されなくなったエンティティ/アトリビュートに対応するデータベースのテーブル/列を削除する。
- 古すぎて不要になったモジュールバージョンを削除する。
アプリケーションでエンティティやアトリビュートを削除しても、OutSystemsではデータベース内の対応するテーブルや列は削除されません。アプリケーションをロールバックするときに備え、データは安全に保存されます。このAPIを使用すると、使用されていないモジュールバージョン、エンティティ、アトリビュートを削除してデータベースの空き領域を確保できます。
DbCleaner APIの呼び出しはすべて監査され、ログに記録されます。監査ログは環境管理コンソールの[General Log]セクションに表示され、エラーは[Error Log]セクションでログに記録されます。
このAPIを使用するには、開発環境の[References]ウィンドウを使用してDbCleaner_APIモジュールを参照します。
要件
このAPIを使用するには、以下の要件があります。
- このAPIを呼び出すモジュールで、必ずService Centerをユーザープロバイダモジュールとして設定していること。
- 呼び出されるアクションに応じて、必ずログインユーザーが「Change & Deploy(変更とデプロイ)」権限または「Administrator(管理者)」ビルトインロールを持っていること。詳細については、アクションのオンラインヘルプをご覧ください。
マルチテナントエンティティや、翻訳を持つ静的エンティティをこのAPIのバージョン9.0.0.23で削除する場合、削除されるテーブルや列を使用しているモジュールを再パブリッシュする必要があります。つまり、エンティティまたはアトリビュートを持つモジュールと、それを参照するすべてのモジュールを再パブリッシュする必要があります。
概要
アクション | 説明 |
---|---|
Attribute_DropColumn | 指定されたエンティティアトリビュートに関連付けられたデータベーステーブルの列を物理的に削除します。 エンティティアトリビュートがモジュールのメタモデル内にまだ存在している場合、削除操作は実行されません。 ログインユーザーはAdministratorビルトインロールが必要です。 |
Attribute_ListDeleted | モジュールのメタモデルからは削除されているが、データベース内に物理的にまだ存在しているアトリビュートのリストとその情報を返します。 ログインユーザーはAdministratorビルトインロールが必要です。 |
Entity_DropTable | 指定されたエンティティに関連付けられたデータベーステーブルを物理的に削除します。 エンティティがモジュールのメタモデル内にまだ存在している場合、削除操作は実行されません。 ログインユーザーはAdministratorビルトインロールが必要です。 |
Entity_ListDeleted | モジュールのメタモデルからは削除されているが、データベース内に物理的にまだ存在しているアトリビュートのリストとその情報を返します。 ログインユーザーはAdministratorビルトインロールが必要です。 |
ModuleVersion_Delete | 指定されたモジュールの指定されたモジュールバージョンをデータベースから削除します。 ログインユーザーはChange & Deploy権限が必要です。 |
ModuleVersion_DeleteAll | 指定された日時より前にパブリッシュされたモジュールバージョンを削除します。このアクションでは、現在パブリッシュされているモジュールバージョンと、アプリケーションまたはソリューションのタグ付けされたバージョンで使用されているモジュールバージョンは削除されません。 ログインユーザーはChange & Deploy権限が必要です。 |
ModuleVersion_ListOldest | データベース内に保存されている、指定された日時より前にパブリッシュされたモジュールバージョンのリストを返します。このアクションでは、現在パブリッシュされているモジュールバージョンと、アプリケーションまたはソリューションのタグ付けされたバージョンで使用されているモジュールバージョンは削除されません。 ログインユーザーはChange & Deploy権限が必要です。 |
ストラクチャ | 説明 |
---|---|
AttributeInfo | 特定のエンティティアトリビュートに関する情報。 |
EntityInfo | 特定のエンティティに関する情報。 |
ModuleInfo | 特定のモジュールに関する情報。 |
ModuleVersionInfo | 特定のモジュールバージョンに関する情報。 |
静的エンティティ | 説明 |
---|---|
ModuleType | モジュールのタイプ。 |
アクション
Attribute_DropColumn
指定されたエンティティアトリビュートに関連付けられたデータベーステーブルの列を物理的に削除します。 エンティティアトリビュートがモジュールのメタモデル内にまだ存在している場合、削除操作は実行されません。
ログインユーザーはAdministratorビルトインロールが必要です。
入力
- AttributeId
- 型: 必須。Integer。
アトリビュートの識別子。
Attribute_ListDeleted
モジュールのメタモデルからは削除されているが、データベース内に物理的にまだ存在しているアトリビュートのリストとその情報を返します。
ログインユーザーはAdministratorビルトインロールが必要です。
出力
- DeletedAttributes
- 型: AttributeInfo List。
モジュールのメタモデルから削除されたアトリビュートのリストとその情報。
Entity_DropTable
指定されたエンティティに関連付けられたデータベーステーブルを物理的に削除します。 エンティティがモジュールのメタモデル内にまだ存在している場合、削除操作は実行されません。
ログインユーザーはAdministratorビルトインロールが必要です。
入力
- EntityId
- 型: 必須。Integer。
エンティティの識別子。
Entity_ListDeleted
モジュールのメタモデルからは削除されているが、データベース内に物理的にまだ存在しているエンティティのリストとその情報を返します。
ログインユーザーはAdministratorビルトインロールが必要です。
出力
- DeletedEntities
- 型: EntityInfo List。
モジュールのメタモデルから削除されたエンティティのリストとその情報。
ModuleVersion_Delete
指定されたモジュールの指定されたモジュールバージョンをデータベースから削除します。
ログインユーザーはChange & Deploy権限が必要です。
入力
- ModuleVersionId
- 型: 必須。Integer。
モジュールバージョンの識別子。 - ModuleId
- 型: 必須。Integer。
モジュールの識別子。
ModuleVersion_DeleteAll
指定された日時より前にパブリッシュされたモジュールバージョンを削除します。このアクションでは、現在パブリッシュされているモジュールバージョンと、アプリケーションまたはソリューションのタグ付けされたバージョンで使用されているモジュールバージョンは削除されません。
ログインユーザーはChange & Deploy権限が必要です。
入力
- OlderThan
- 型: 必須。Date Time。
この時点以降のモジュールバージョンがデータベースから削除されないことを示す日時。 - ModuleId
- 型: 任意。Integer。
モジュールの識別子。指定されていない場合は、すべてのモジュールのモジュールバージョンを返します。 - MaxNumberOfVersions
- 型: 任意。Integer。
取得するバージョンの最大数。指定されていない場合は、最も古いモジュールバージョンを100件返します。0(ゼロ)に設定すると、すべてのモジュールバージョンを取得します。
出力
- HasMoreVersions
- 型: Boolean。
削除するモジュールバージョンがまだある場合はTrueを返します。
ModuleVersion_ListOldest
データベース内に保存されている、指定された日時より前にパブリッシュされたモジュールバージョンのリストを返します。このアクションでは、現在パブリッシュされているモジュールバージョンと、アプリケーションまたはソリューションのタグ付けされたバージョンで使用されているモジュールバージョンは返されません。
ログインユーザーはChange & Deploy権限が必要です。
入力
- OlderThan
- 型: 必須。Date Time。
この時点以降のモジュールバージョンがデータベースから削除されないことを示す日時。 - ModuleName
- 型: 任意。Text。
モジュールの名前。指定されていない場合は、任意の名前を持つモジュールのモジュールバージョンを返します。 - ModuleTypeId
- 型: 任意。ModuleType Identifier。
モジュールのタイプ。指定されていない場合は、任意のタイプのモジュールのモジュールバージョンを返します。 - MaxNumberOfVersions
- 型: 任意。Integer。
取得するバージョンの最大数。指定されていない場合は、最も古いモジュールバージョンを100件返します。0(ゼロ)に設定すると、すべてのモジュールバージョンを取得します。
出力
- ModuleVersions
- 型: ModuleVersionInfo List。
過去にパブリッシュされて、データベースに引き続き保存されているモジュールバージョンのリストとその情報。 - HasMoreVersions
- 型: Boolean。
リストに含まれるもののほかにもモジュールバージョンがある場合はTrueを返します。
ストラクチャ
AttributeInfo
特定のエンティティアトリビュートに関する情報。
アトリビュート
- Id
- 型: Integer。
アトリビュートの一意の識別子。 - Name
- 型: Text。
アトリビュートの名前。 - IsDeleted
- 型: Boolean。
アトリビュートが削除されたかどうかを示します。 - EntityInfo
- 型: EntityInfo。
アトリビュートが属しているエンティティに関する情報。
EntityInfo
特定のエンティティに関する情報。
アトリビュート
- Id
- 型: Integer。
エンティティの一意の識別子。 - Name
- 型: Text。
エンティティの名前。 - IsDeleted
- 型: Boolean。
エンティティが削除されたかどうかを示します。 - ModuleInfo
- 型: ModuleInfo。
エンティティが属しているモジュールに関する情報。
ModuleInfo
特定のモジュールに関する情報。
アトリビュート
- Id
- 型: Integer。
モジュールの一意の識別子。 - Name
- 型: Text。
モジュールの名前。 - IsDeleted
- 型: Boolean。
モジュールが削除されたかどうかを示します。 - ModuleTypeId
- 型: ModuleType Identifier。
モジュールタイプの識別子。
ModuleVersionInfo
特定のモジュールバージョンに関する情報。
アトリビュート
- Id
- 型: Integer。
モジュールバージョンの一意の識別子。 - Version
- 型: Text。
バージョン番号。 - UploadedDate
- 型: Date Time。
バージョンがサーバーにアップロードされた日時。 - LastPublishedDate
- 型: Date Time。
モジュールバージョンが最後にパブリッシュされた日時。 - ModuleInfo
- 型: ModuleInfo。
モジュールバージョンが属しているモジュールに関する情報。
静的エンティティ
ModuleType
モジュールのタイプ。
アトリビュート
- Id
- 型: Integer。
- Label
- 型: Text (50)。
レコード
- エクステンション
- Espace