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

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 1 minute de lecture
  • Lorsque vous mettez à jour l’instance de Washington DC la version vers Yokohama la version, vous devez exécuter manuellement le correctif Glide pour mettre à jour les tables de factures et de lignes de facture vers leurs tables de base respectives.

    Avant de commencer

    Rôle requis : maint

    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 un nom comme changer le parent de la table des factures.
    5. Décochez la case Enregistrement pour la 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 de facture parente et de ligne de facture sont remplacées par des tables de base respectives.