TableUtils - Global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 6 min. de leitura
  • A API TableUtils é uma classe de atalhos para acessar informações relacionadas à tabela.

    Esta classe está disponível para scripts do lado do servidor.

    TableUtils – tableExists()

    Verifica se existe uma tabela.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    Booliano Verdadeiro se a tabela existir.
    var table = new TableUtils("my_table");
    gs.print("Does 'my_table' exist? " + table.tableExists());

    Saída: "my_table" existe? falso

    TableUtils - drop(cadeia de caracteres "tableName")

    Descarta uma tabela de banco de dados.

    Nota:
    Use com extremo cuidado. Descartar uma tabela exclui permanentemente a tabela e todos os seus dados. Se a tabela for estendida, use dropTableAndExtensions.
    Tabela 3. Parâmetros
    Nome Tipo Descrição
    tableName Cadeia de caracteres Nome da tabela a ser descartada
    Tabela 4. Retorna
    Tipo Descrição
    vazio
    var tu = new TableUtils();
    tu.drop("table_that_will_be_lost_forever");
    Saída:
    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

    TableUtils - dropAndClean(cadeia de caracteres "tableName")

    Descarta uma tabela de banco de dados e limpa as referências à tabela.

    Nota:
    Use com extremo cuidado. Descartar uma tabela de banco de dados exclui permanentemente a tabela e todos os seus dados. Se a tabela for estendida, use dropTableAndExtensions.
    Tabela 5. Parâmetros
    Nome Tipo Descrição
    tableName Cadeia de caracteres Nome da tabela a ser descartada
    Tabela 6. Retorna
    Tipo Descrição
    vazio
    var tu = new TableUtils();
    tu.dropAndClean("table_that_will_be_lost_forever");
    Saída:
    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 deleted

    TableUtils - dropTableAndExtensions(cadeia de caracteres "tableName")

    Descarta uma tabela de banco de dados, todas as suas tabelas estendidas e limpa as referências às tabelas.

    Nota:
    Use com extremo cuidado. Descartar uma tabela de banco de dados exclui permanentemente a tabela e todos os seus dados.
    Tabela 7. Parâmetros
    Nome Tipo Descrição
    tableName Cadeia de caracteres A tabela a ser descartada
    Tabela 8. Retorna
    Tipo Descrição
    vazio
    var tu = new TableUtils();
    tu.dropTableAndExtensions("table_that_will_be_lost_forever");
    Saída:
    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 deleted

    TableUtils – getAbsoluteBase()

    Retorna o nome da tabela base da qual a tabela foi estendida.

    Nota:
    Para qualquer tabela na hierarquia cmdb_ci, este método retorna cmdb_ci e não cmdb, que é a tabela base real.
    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    Cadeia de caracteres Nome da tabela base
    var table = new TableUtils("cmdb_ci_server");
    gs.print(table.getAbsoluteBase());

    Saída: cmdb_ci

    TableUtils – getAllExtensions()

    Retorna a lista de tabelas que estendem uma tabela, incluindo a tabela base.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 12. Retorna
    Tipo Descrição
    Lista de matrizes Uma lista de tabelas que estende a tabela inclui a tabela base.
    var table = new TableUtils("task");
    gs.print(table.getAllExtensions());
    Saída:
    [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()

    Retorna uma lista de todas as classes que participam da hierarquia da tabela especificada.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 14. Retorna
    Tipo Descrição
    Lista de matrizes Uma lista de todas as classes na hierarquia da tabela especificada.
    var table = new TableUtils("cmdb_ci_server");
    gs.print(table.getHierarchy());

    Output: [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()

    Retorna a hierarquia da tabela.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 16. Retorna
    Tipo Descrição
    Lista de matrizes Uma lista de nomes de tabela na hierarquia primária.
    // 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++;
    }
    
    Saída:
    Table with index 0: cmdb_ci_computer
    Table with index 1: cmdb_ci_hardware
    Table with index 2: cmdb_ci
    Table with index 3: cmdb

    TableUtils – getTableExtensions()

    Retorna uma lista de tabelas que estendem uma tabela.

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 18. Retorna
    Tipo Descrição
    Lista de matrizes Uma lista de nomes de tabela que estendem a tabela.

    Este exemplo mostra que 58 tabelas nesta instância estendem a tabela Computador [cmdb_ci_computer]. (Saída resumida abaixo.)

    // 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++;
    }
    Saída:
    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_unit

    TableUtils – hasExtensions()

    Determina se uma tabela foi estendida.

    Tabela 19. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 20. Retorna
    Tipo Descrição
    Booliano Verdadeiro se a tabela tiver extensões.
    var table = new TableUtils("cmdb_ci_server");
    gs.print(table.hasExtensions());
    Saída:
    true

    TableUtils – isBaseClass()

    Determina se uma tabela é uma classe base, o que significa que ela não tem primárias e tem extensões.

    Por exemplo, Task é uma classe base, pois não é estendida de outra tabela e tem tabelas estendidas dela. Sys_user não é uma classe base porque não tem primários, mas não tem extensões.

    Tabela 21. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 22. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se uma tabela é uma tabela de classe base, o que significa que ela não tem primárias, mas tem extensões.
    Valores válidos:
    • verdadeiro: a tabela é uma classe base.
    • false: a tabela não é uma classe base.

    Exemplo

    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());
    Saída:
     Task is base class: true
    User is base class: false

    TableUtils – isSoloClass()

    Determina se a tabela não tem primários nem extensões.

    Tabela 23. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 24. Retorna
    Tipo Descrição
    Booliano Verdadeiro se a tabela não tiver primário e nenhuma tabela for estendida a partir dele.
    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());
    Saída:
    task is solo class: false
    cmdb_ci_win_server is solo class: false
    sys_user is solo class: true

    TableUtils - TableUtils(cadeia de caracteres "tableName")

    Cria uma instância de uma classe TableUtils.

    Tabela 25. Parâmetros
    Nome Tipo Descrição
    tableName Cadeia de caracteres O nome da tabela
    var tu = new TableUtils("incident");