Updaters - TecostNetwork/Network GitHub Wiki

Updaters selon la base de données

! IMPORTANT !
 

On ne doit pas insérer de données dans les bases log et archive, et en principe on va éviter d'insérer des données dans les bases test.

  • Pour qu'un updater ne se lance que sur main : on utilise le suffixe "_main" sur le fichier
  • Pour qu'un updater ne se lance pas sur les bases test : on utilise le suffixe "_dev" sur le fichier

Donc en gros :

  • Ne jamais faire un updater qui touche la structure et insère des données en même temps.
  • Pour un updater de la structure db : n'utiliser aucun suffixe
  • Pour un updater contenant des données : utiliser la combinaison de suffixes "_dev_main"
  • Si on tient quand même à insérer des données sur la base de test, on peut utiliser "_main" tout seul

Updaters sur branches HEAD ou DEV

Les updaters sont organisés par packages ayant des noms de développements, tickets ou autre.

Exemples 

  • major3/minor1/revision0/cs3121/fix-request.sql pour un ticket
  • major3/minor1/revision0/dev2190/insert_antecedents.sql pour un développement
  • major3/minor1/revision0/tr/translations_main.xml pour des traductions manquantes
  • major3/minor1/revision0/correction/alter_applicant.sql pour une correction / refactoring

Les révisions sont >= à 3.1.0
Il ne faut plus utiliser les packages avec les abréviations des développeurs.
Il ne faut pas incrémenter le no de version dans project.properties.

Quand créer une nouvelle révision ?

Il est en principe préférable de créer une nouvelle révision à chaque fois, surtout si vous avez commité des updaters sur le HEAD, afin d'éviter des problèmes chez vos collègues. Il faut éviter de réutiliser des révisions existantes.

  • Vous pouvez réutiliser une révision et même un package existants si :
  • Vous ne faites que d'ajouter traductions, cela ne pose pas de conflits.
  • Vous n'avez pas encore commité vos autres updaters ou vous êtes seul sur une branche.
  • Vous êtes sûr que votre updater peut passer avant les scripts existants situés dans les révisions supérieures ou packages de la même révision. Et vous êtes sûr que personne ne va ajouter de script pouvant poser un problème avec le votre selon l'ordre d'exécution.

Updaters sur Bugfix

Il faut continuer à le placer dans un package avec votre abréviation (mw_b, mw_b2), puis le reporter sur le tronc strictement au même endroit (avec même chemin, donc y.c. avec votre abréviation).

Incrémentez database.version mais pas >= 1.1.0 (sic) ou 3.1.0 (sipres) pour votre correctif.

POUR LES TRADUCTIONS SEULEMENT : 

  • Sur bugfix : updater basé sur l'ancienne structure de Translation.java avec package "jb_b"
  • Sur head : updater basé sur la nouvelle structure de Translation.java sur nouveau système d'updaters