Exécuter un script correctif Glide pour migrer les données existantes

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 1 minute de lecture
  • Lorsque vous mettez à jour l’instance à partir de Washington DC la Xanadu version, vous devez exécuter manuellement le correctif Glide pour mettre à jour les tables de facture et de ligne de facture vers leurs tables de base respectives.

    Avant de commencer

    Rôle requis : administrateur

    Procédure

    1. Accédez à la Tout > Définition du système > Scripts correctifs.
    2. Sélectionnez Nouveau.
      Un nouvel enregistrement de script correctif s’ouvre.
    3. Ouvrez l’enregistrement du script correctif.
    4. Entrez le nom comme table de factures pour un nouveau parent.
    5. Décochez la case Enregistrer pour une restauration .
    6. Dans le champ Script , ajoutez le code suivant pour la ligne de facture :
      (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. Dans le champ Script , ajoutez le code suivant pour la facture :
       (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. SélectionnezEnregistrer.
    9. Sélectionnez Soumettre.
      Le script correctif est créé.
    10. Sélectionnez Exécuter le script correctif.
      Les tables Facture parente et Ligne de facture sont remplacées par des tables de base respectives.