Comparer les ensembles de mises à jour locaux
Les administrateurs peuvent prévisualiser les ensembles de mises à jour locaux et distants (récupérés) et comparer les ensembles les uns avec les autres pour résoudre les changements conflictuels.
Pourquoi et quand exécuter cette tâche
Comparez les ensembles de mises à jour locaux pour identifier les collisions et vous assurer que les changements appropriés sont validés. Résolvez tous les conflits avant de déplacer un ensemble de mises à jour entre les instances.
Procédure
Résolution des collisions d’ensembles de mises à jour
Une collision est une mise à jour dont la mise à jour locale est plus récente.
La plateforme détecte les collisions en comparant les valeurs des champs Nom et Mis à jour de l’enregistrement de mise à jour du client de chaque ensemble de mises à jour. Si le nom correspond, mais que les valeurs de date de mise à jour sont différentes, il y a collision.
Lorsqu’une mise à jour du client est déplacée d’une instance à une autre, elle peut être réécrite pour correspondre à l’instance cible. La réécriture peut impliquer la modification du nom de la mise à jour du client et d’une ou plusieurs sys_iddans la mise à jour. Les réécritures sont effectuées lorsque l’enregistrement ou le champ de référence se trouve pour une table qui utilise une stratégie de coalescence. Cela garantit que la mise à jour du client sera appliquée au bon enregistrement. Par exemple, si l’enregistrement sys_dictionary pour tablename.fieldname a sys_id 123456789 sur l’instance A et sys_id 987654321 sur l’instance B, lorsqu’une mise à jour du client qui fait référence à cet enregistrement est récupérée à partir de l’instance A et enregistrée dans la table sys_update_xml sur l’instance B, les références à 123456789 sont mises à jour pour se lire 987654321.
Stratégies de fusion
Les ensembles de mises à jour peuvent détecter les collisions entre des enregistrements identiques que vous créez indépendamment sur des instances distinctes. Pour détecter de telles collisions, l’enregistrement doit avoir une stratégie de coalescence basée sur la coalescence de colonnes. Étant donné que la détection des collisions dépend de l’unicité des tables, celles-ci doivent être uniques lorsque les colonnes de coalescence sont combinées. Les enregistrements qui ne sont pas répertoriés ici n’entreront pas en collision si le même enregistrement est créé séparément sur différentes instances.
| Type | Fusions de colonnes |
| sys_db_object | nom |
| sys_dictionary | nom, élément |
| sys_choice_set | nom, élément, langue |
| sys_documentation | nom, élément, langue |
| sys_properties | nom |
| sys_report_chart_color | nom, élément, valeur |
| sys_ui_form | nom, vue sys_domain |
| sys_ui_message | documentkey, langue |
| sys_ui_list | nom, vue, sys_domain, élément, relation, parent |
| sys_ui_section | Nom, vue, légende sys_domain |
| sys_ui_related_list | nom, vue, related_list sys_domain |
| sys_ui_view | nom |
| sys_user_role | nom |
| sys_user_group | nom |
| sys_wizard | nom |
Comment les noms d’enregistrement de mise à jour du client affectent les collisions
- Lorsque vous créez un enregistrement, il reçoit une sys_id unique. Pour la plupart des types d’enregistrement, le sys_id fait partie du nom d’enregistrement de mise à jour du client. Par exemple :
sysevent_email_template_9e1998c078b71100a92ecacd80df1d39. - La création d’un enregistrement identique dans la même table sur une autre instance produit un nom d’enregistrement de mise à jour du client avec une sys_id différente. Par exemple :
sysevent_email_template_10b958c8653311005840134572f8e020
Par conséquent, même si les enregistrements peuvent être identiques, ils ont des noms différents afin que le système ne détecte pas la collision.
- sys_dictionary
- sys_documentation
- sys_choice_set
- sys_ui_list
- sys_ui_related_list
Le nom d’enregistrement identique qui en résulte dans chaque instance aide le système à identifier les collisions, même si les enregistrements ont des sys_ids différents.
Lorsqu’une mise à jour du client est déplacée d’une instance à une autre, elle peut être réécrite pour correspondre à l’instance cible. La réécriture peut impliquer la modification du nom de la mise à jour du client et d’une ou plusieurs sys_ids dans la mise à jour. Les réécritures sont effectuées lorsque l’enregistrement ou le champ de référence se trouve pour une table qui utilise une stratégie de coalescence. Cela garantit que la mise à jour du client sera appliquée au bon enregistrement. Par exemple, si l’enregistrement sys_dictionary pour tablename.fieldname a sys_id « 123456789 » sur l’instance A et sys_id « 987654321 » sur l’instance B, lorsqu’une mise à jour du client qui fait référence à cet enregistrement est récupérée à partir de l’instance A et enregistrée dans la table sys_update_xml sur l’instance B, les références à « 123456789 » sont mises à jour pour lire « 987654321 ».
Empêcher les enregistrements en double
- Transférez des données avec des ensembles de mises à jour plutôt que de les recréer sur des instances distinctes pour vous assurer que les enregistrements ont le même sys_id.
- Exportez et importez des enregistrements sous forme de fichiers XML pour vous assurer que les enregistrements ont le même sys_id. Voir Exportation et importation de fichiers XML.
- Activez un index unique pour la table à partir du dictionnaire système. Voir Administration des tables.