TableUtils - グローバル
TableUtils スクリプトインクルードは、テーブル関連情報にアクセスするためのショートカットを提供します。
このクラスはサーバーサイドスクリプトで使用できます。
TableUtils:TableUtils(文字列 tableName)
TableUtils クラスのインスタンスを作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| tableName | 文字列 | テーブル名 |
var tu = new TableUtils("incident");
TableUtils:drop(文字列 tableName)
データベーステーブルを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| tableName | 文字列 | ドロップするテーブルの名前 |
| タイプ | 説明 |
|---|---|
| なし |
var tu = new TableUtils();
tu.drop("table_that_will_be_lost_forever");
dropping table table_that_will_be_lost_forever
Starting cache flush
Cache flush complete
TABLE DROP: admin dropped table table_that_will_be_lost_foreverTableUtils - dropAndClean(文字列 tableName)
データベーステーブルを削除し、テーブルへの参照をクリーンアップします。
| 名前 | タイプ | 説明 |
|---|---|---|
| tableName | 文字列 | ドロップするテーブルの名前 |
| タイプ | 説明 |
|---|---|
| なし |
var tu = new TableUtils();
tu.dropAndClean("table_that_will_be_lost_forever");
dropping table table_that_will_be_lost_forever
Starting cache flush
Cache flush complete
TABLE DROP: admin dropped table table_that_will_be_lost_forever
*** Script: removing gauges for table_that_will_be_lost_forever
*** Script: removing forms for table_that_will_be_lost_forever
*** Script: removing styles for table_that_will_be_lost_forever
*** Script: removing forms sections for table_that_will_be_lost_forever
*** Script: removing lists for table_that_will_be_lost_forever
*** Script: removing related lists for table_that_will_be_lost_forever
*** Script: removing references to table_that_will_be_lost_forever
*** Script: removing dictionary entries for table_that_will_be_lost_forever
Background message, type:info, message: Table deletedTableUtils:dropTableAndExtensions(文字列 tableName)
データベーステーブルとそのすべての拡張テーブルを削除し、テーブルへの参照をクリーンアップします。
| 名前 | タイプ | 説明 |
|---|---|---|
| tableName | 文字列 | 削除するテーブル |
| タイプ | 説明 |
|---|---|
| なし |
var tu = new TableUtils();
tu.dropTableAndExtensions("table_that_will_be_lost_forever");
dropping table parent_table_that_will_be_lost_forever
Starting cache flush
Cache flush complete
TABLE DROP: admin dropped table ext_table_that_will_be_lost_forever
removing gauges for ext_table_that_will_be_lost_forever
removing forms for ext_table_that_will_be_lost_forever
removing styles for ext_table_that_will_be_lost_forever
removing forms sections for ext_table_that_will_be_lost_forever
removing lists for ext_table_that_will_be_lost_forever
removing related lists for ext_table_that_will_be_lost_forever
removing references to ext_table_that_will_be_lost_forever
removing dictionary entries for ext_table_that_will_be_lost_forever
Background message, type:info, message: Table deleted
dropping table parent_table_that_will_be_lost_forever
Starting cache flush
Cache flush complete
TABLE DROP: admin dropped table parent_table_that_will_be_lost_forever
removing gauges for parent_table_that_will_be_lost_forever
removing forms for parent_table_that_will_be_lost_forever
removing styles for parent_table_that_will_be_lost_forever
removing forms sections for parent_table_that_will_be_lost_forever
removing lists for parent_table_that_will_be_lost_forever
removing related lists for parent_table_that_will_be_lost_forever
removing references to parent_table_that_will_be_lost_forever
removing dictionary entries for parent_table_that_will_be_lost_forever
Background message, type:info, message: Table deletedTableUtils:getAbsoluteBase()
テーブルの拡張元のベーステーブル名を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | ベーステーブル名 |
var table = new TableUtils("cmdb_ci_server");
gs.print(table.getAbsoluteBase());
出力:cmdb_ci
TableUtils:getAllExtensions()
テーブルを拡張するテーブルのリストを返します。ベーステーブルも含まれます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ArrayList | ベーステーブルを含む、テーブルを拡張するテーブルのリスト。 |
var table = new TableUtils("task");
gs.print(table.getAllExtensions());
[task, incident, issue, kb_submission, sysapproval_group, change_request, change_request_imac, sc_task,
problem, sc_req_item, ticket, ast_transfer_order, planned_task, change_task, change_phase, sc_request]TableUtils:getHierarchy()
指定されたテーブルの階層に参加しているすべてのクラスのリストを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ArrayList | 指定されたテーブルの階層内のすべてのクラスのリスト。 |
var table = new TableUtils("cmdb_ci_server");
gs.print(table.getHierarchy());
出力:[cmdb_ci_server、cmdb_ci_computer、cmdb_ci_hardware、cmdb_ci、cmdb_ci_mainframe、cmdb_ci_linux_server、cmdb_ci_mainframe_lpar、cmdb_ci_esx_server、cmdb_ci_unix_server、cmdb_ci_solaris_server、cmdb_ci_hpux_server、cmdb_ci_aix_server、cmdb_ci_osx_server、cmdb_ci_netware_server、cmdb_ci_win_server]
TableUtils:getTables()
テーブル階層を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ArrayList | 親階層内のテーブル名のリスト。 |
// Get the hierarchy of tables
var table = new TableUtils("cmdb_ci_computer");
var tableArrayList = table.getTables();
// Use the j2js method to convert the Java ArrayList to JavaScript
gs.include("j2js");
var tableArray = j2js(tableArrayList);
// Write the value of each element in the JavaScript array
var i = 0;
while ( i < tableArray.length ) {
gs.print("Table with index " + i + ": " + tableArray[i]);
i++;
}
Table with index 0: cmdb_ci_computer
Table with index 1: cmdb_ci_hardware
Table with index 2: cmdb_ci
Table with index 3: cmdbTableUtils:getTableExtensions()
テーブルを拡張するテーブルのリストを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ArrayList | テーブルを拡張するテーブル名のリスト。 |
この例では、このインスタンスの 58 個のテーブルがコンピューター [cmdb_ci_computer] テーブルを拡張していることを示しています。(出力は以下に要約されています。
// Get the tables that extend the table
var table = new TableUtils("cmdb_ci_computer");
var tableArrayList = table.getTableExtensions();
// Use the j2js method to convert the Java ArrayList to JavaScript
gs.include("j2js");
var tableArray = j2js(tableArrayList);
// Write the value of each element in the JavaScript array
var i = 0;
while ( i < tableArray.length ) {
gs.print("Table with index " + i + ": " + tableArray[i]);
i++;
}
Table with index 0: cmdb_ci_mainframe_hardware
Table with index 1: cmdb_ci_handheld_computing
Table with index 2: cmdb_ci_ucs_blade
Table with index 3: cmdb_ci_storage_switch
Table with index 4: cmdb_ci_server
Table with index 5: cmdb_ci_hmc_server
…
Table with index 56: cmdb_ci_pc_hardware
Table with index 57: cmdb_ci_ucs_rack_unitTableUtils:hasExtensions()
テーブルが拡張されたかどうかを判断します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | テーブルに拡張子がある場合は True。 |
var table = new TableUtils("cmdb_ci_server");
gs.print(table.hasExtensions());
trueTableUtils:isBaseClass()
テーブルが基底クラスであるかどうか、つまり親がなく、拡張があるかどうかを判断します。
たとえば、タスクは別のテーブルから拡張されたのではなく、そこから拡張されたテーブルがあるため、基底クラスです。Sys_user は親を持たず、拡張子も持たないため、基底クラスではありません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | テーブルが基底クラステーブルであるかどうか (親はないが拡張はある) かどうかを示すフラグ。 有効な値:
|
var table = new TableUtils("task");
gs.print("Task is base class: " + table.isBaseClass());
var table = new TableUtils("sys_user");
gs.print("User is base class: " + table.isBaseClass());
Task is base class: true
User is base class: falseTableUtils:isSoloClass()
テーブルに親がなく、拡張がないかどうかを判別します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | テーブルに親がなく、そこから拡張されるテーブルがない場合は True。 |
var table = new TableUtils("task");
gs.print("task is solo class: " + table.isSoloClass());
var table = new TableUtils("cmdb_ci_win_server");
gs.print("cmdb_ci_win_server is solo class: " + table.isSoloClass());
var table = new TableUtils("sys_user");
gs.print("sys_user is solo class: " + table.isSoloClass());
task is solo class: false
cmdb_ci_win_server is solo class: false
sys_user is solo class: trueTableUtils:tableExists()
テーブルが存在するかどうかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | テーブルが存在する場合は True。 |
var table = new TableUtils("my_table");
gs.print("Does 'my_table' exist? " + table.tableExists());
出力:「my_table」は存在しますか?false