Executar um script de correção de glide para migrar dados existentes

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 1 min. de leitura
  • Ao atualizar a instância da versão Washington DC para Yokohama, você deve executar manualmente a correção do glide para atualizar a fatura e as tabelas de linhas da fatura para suas respectivas tabelas base.

    Antes de Iniciar

    Função necessária: maint

    Procedimento

    1. Navegar até Tudo > Definição do Sistema > Scripts de correção.
    2. Selecione Novo.
      Um novo registro de script de correção é aberto.
    3. Abra o registro de script de correção.
    4. Insira o Nome como tabela de faturas primárias.
    5. Desmarque a caixa de seleção Registrar para reversão.
    6. No campo Script, adicione o seguinte código para a linha da fatura:
      (function() {
                  const invoiceLinetableToReparent = "sn_shop_invoice_line";
                  const invoiceLineNewExtends = "sn_fin_base_invoice_line";
                  const oldExtends = "";
      var invoiceLineGr = new GlideRecord("sys_db_object");
              invoiceLineGr.get("name", invoiceLinetableToReparent);
              if(invoiceLineGr.super_class.name == invoiceLineNewExtends) {
                  gs.info("{0} table already reparented to {1}. No reparenting required.", invoiceLinetableToReparent, invoiceLineNewExtends);
                  return;
              }
      try {
                  
                  var invoiceLinetpc = new GlideTableParentChange(invoiceLinetableToReparent);
                  var reparentInvoiceLineResult = invoiceLinetpc.change(oldExtends, invoiceLineNewExtends);
      
              } catch (e) {
                  gs.warn("Table parent change for sn_shop_invoice_line did not complete. Error: {0}", e);
              } 
      })();
      
    7. No campo Script, adicione o seguinte código para fatura:
       (function() {
              const invoiceTableToReparent = "sn_shop_invoice";
              const oldExtends = "";
              const invoiceNewExtends = "sn_fin_base_invoice";
      var invoiceGr = new GlideRecord("sys_db_object");
              invoiceGr.get("name", invoiceTableToReparent);
              if(invoiceGr.super_class.name == invoiceNewExtends){
                  gs.info("{0} table already reparented to {1}. No reparenting required.", invoiceTableToReparent, invoiceNewExtends);
                  return;
              }
       try {
                  var tpc = new GlideTableParentChange(invoiceTableToReparent);
                  var reparentResult = tpc.change(oldExtends, invoiceNewExtends);
              } catch (e) {
                  gs.warn("Table parent change for sn_shop_invoice did not complete. Error: {0}", e);
              } 
       })();
      
    8. SelecioneSalvar.
    9. Selecione Enviar.
      O script de correção foi criado.
    10. Selecione Executar script de correção.
      A fatura primária e as tabelas de linhas de fatura são alteradas para as respectivas tabelas base.