Migrer un tanaguru 3.0.4 vers Asqatasun

upgrade
db
asqatasun
tanaguru
migration
Tags: #<Tag:0x00007fe7b0b4a4c0> #<Tag:0x00007fe7b0b4a380> #<Tag:0x00007fe7b0b4a240> #<Tag:0x00007fe7b0b4a100> #<Tag:0x00007fe7b0b49fc0>

#1

Bonjour,

je suis en train de migrer un Tanaguru 3.0.4 vers Asqatasun… J’ai bien trouvé les script pour passer en Tanaguru
3.0.6 mais je ne trouve rien pour passer de Tanaguru vers Asqatasun ?


#2

Excellente idée @llaumgui ! :slight_smile:

Les scripts de migration font partie de choses initiéss mais pas encore terminées. Tu as une idée de la volumétrie ? (nombre d’audits, nombre d’utilisateurs, nombre de web_resources)


#3

J’ai pas la BD sous la main mais lorsque j’ai fait le dump on était a 2go.


#4

@llaumgui, la structure de la DB n’a logiquement pas été modifiée…
depuis le fork basé sur Tg 3.1.0 @koj tu confirmes ?

si c’est bien le cas, il faut juste vérifier si il y a eu des changements
de DB entre Tg 3.0.6 et Tg 3.1.0. @koj une petite idée ? :sunny:

pour mémoire : fichiers SQL via un find -name "*.sql"

engine/asqatasun-resources/src/main/resources/sql/asqatasun-30-insert.sql
engine/asqatasun-resources/src/main/resources/sql/asqatasun-20-create-tables.sql
engine/asqatasun-resources/src/main/resources/sql/asqatasun-10-create-user-and-base.sql
engine/asqatasun-resources/src/main/resources/sql-update/asqatasun-40-update-from-1.5.2-to-2.0.x_1.sql
engine/asqatasun-resources/src/main/resources/sql-update/asqatasun-40-update-from-1.5.2-to-2.0.x_2.sql
engine/asqatasun-resources/src/main/resources/sql-update/asqatasun-40-update-from-3.0.0-to-3.0.4.sql
engine/asqatasun-resources/src/main/resources/sql-update/asqatasun-40-update-from-2.0.x-to-2.1.0.sql
engine/asqatasun-resources/src/main/resources/sql-update/asqatasun-40-update-from-3.0.4-to-3.0.5.sql
engine/asqatasun-resources/src/main/resources/sql-update/asqatasun-40-update-from-1.5.1-to-1.5.2.sql
engine/asqatasun-resources/src/main/resources/sql-update/asqatasun-40-update-from-3.0.5-to-3.0.6.sql
engine/asqatasun-resources/src/main/resources/sql-update/asqatasun-40-update-from-2.1.0-to-3.0.0.sql
rules/rules-rgaa3.2016/src/main/resources/sql/rgaa3.2016-insert.sql
rules/rules-rgaa2.2/src/main/resources/sql/update_rgaa2.2.sql
rules/rules-rgaa2.2/src/main/resources/sql/rgaa2.2-insert.sql
rules/rules-accessiweb2.2/src/main/resources/sql/update_accessiweb2.2.sql
rules/rules-accessiweb2.2/src/main/resources/sql/accessiweb2.2-insert.sql
rules/rules-seo1.0/src/main/resources/sql/seo1.0-insert.sql
rules/rules-rgaa3.0/src/main/resources/sql/rgaa3.0-insert.sql
rules/rules-creation-demo/src/main/resources/sql/rulescreationdemo-insert.sql
rules/rules-resources/src/main/resources/sql/10-rules-resources-insert.sql
testing-tools/tgol-testing-tools/src/main/resources/deploy-server-sql/testing-tools-30-insert.sql
web-app/tgol-resources/src/main/resources/sql-patches/01_ALTER TABLE_process_result.sql
web-app/tgol-resources/src/main/resources/sql/tgol-30-insert.sql
web-app/tgol-resources/src/main/resources/sql/tgol-20-create-tables.sql
web-app/tgol-resources/src/main/resources/sql-management/add-remove-functionality-to-contract-procedure.sql
web-app/tgol-resources/src/main/resources/sql-management/PROCEDURE_contract_create.sql
web-app/tgol-resources/src/main/resources/sql-management/delete-audit-procedure.sql
web-app/tgol-resources/src/main/resources/sql-management/show-last-audits-procedure.sql.sql
web-app/tgol-resources/src/main/resources/sql-management/delete-contract-procedure.sql
web-app/tgol-resources/src/main/resources/sql-update/tgol-40-update-from-2.0.0-to-2.0.1.sql
web-app/tgol-resources/src/main/resources/sql-update/tgol-40-update-from-2.0.x-to-2.1.0.sql
web-app/tgol-resources/src/main/resources/sql-update/tgol-40-update-from-2.1.0-to-3.0.0.sql
web-app/tgol-resources/src/main/resources/sql-update/tgol-40-update-from-1.5.2-to-2.0.x.sql
web-app/tgol-resources/src/main/resources/sql-update/tgol-40-update-from-1.5.1-to-1.5.2.sql

Donc 2 répertoires qui semblent intéressant pour ton besoin de migration :

  • web-app/tgol-resources/src/main/resources/sql-update/
  • engine/asqatasun-resources/src/main/resources/sql-update/

et les fichiers que tu as trouvés : (c’est bien ceux-là ?)

  • asqatasun-40-update-from-3.0.4-to-3.0.5.sql
  • asqatasun-40-update-from-3.0.5-to-3.0.6.sql

donc pas de fichier d’update SQL pour Tg 3.0.6 à Tg 3.1.0

Les seules choses qui ont du être modifié (c’est une supposition), c’est :

  • le fichier d’import du RGAA 3.0 de Tg 3.0.6 et Tg 3.1.0
  • la désactivation du RGAA 2.x dans la version v4.0.2 d’Asqatasun

@mfaure, @koj, pour ce dernier point, la désactivation d’un référentiel dans Asqatasun doit poser problème si des contrats et des audits utilisent ce référentiel avant un upgrade ?


En résumé, si la DB n’a pas changée

Le remplacement du .war ne va certainement pas suffire (fichier de configuration, répertoire des logs).

La solution est de faire une nouvelle installation d’Asqatasun et de modifier le fichier /etc/asqatasun/asqatasun.conf pour changer la configuration MySQL (vers une copie de ta DB).

@llaumgui, n’étant arrivé que récemment sur le projet (au moment du fork)
j’espère ne pas avoir raconté trop de bêtises… :sunglasses: :closed_umbrella:

Tiens-nous au courant de ton avancé et des problèmes rencontrés. :telephone_receiver:

.


#5

un petit diff des fichiers sql du tar.gz entre Tg 3.0.6 (voir 3.0.4)
et la dernière version d’Asqatasun pourrait être pas mal…

via :

git checkout master
mvn clean install
cp -v web-app/asqatasun-web-app/target/asqatasun-4.0.3.i386.tar.gz  ../
git checkout 3.1.0
mvn clean install
cp -v cli/tanaguru-cli/target/tanaguru-3.1.0.i386.tar.gz ../ 

# en fait sous Ubuntu 16.0.4 j'ai utilisé cette ligne pour compiler Tg 3.1.0 avec jdk7
docker run -it --rm --name mvn-jdk7 -v "$PWD":/usr/src/asqa -w /usr/src/asqa maven:3-jdk-7 mvn clean install

par contre avec Tg 3.0.6 la compilation ne fonctionne pas… :frowning:
autrement @mfaure, @koj, vous n’auriez pas un tar.gz de Tg 3.0.4 et 3.0.6 ? :gift:

Différences entre Tg 3.0.1 et Asqatasun 4.0.3

fichiers SQL identiques

  • fichier web-app/sql/tgol-20-create-tables.sql
  • fichier web-app/sql/tgol-30-insert.sql
  • fichier rules/sql/10-rules-resources-insert.sql
  • fichier engine/*-30-insert.sql
  • fichier engine/*-20-create-tables.sql —> différences mineures dans les commentaires

fichiers SQL absents

  • fichier rules/sql/seo1.0-insert.sql : absent de Tg 3.0.1
  • fichier rules/sql/rgaa2.2-insert.sql : absent de Asqatasun 4.0.3

différences sans importance pour la migration

  • fichier engine/*-10-create-user-and-base.sql -----> différence : nom de la DB et de l’utilisateur

différences gérables via requêtes UPDATE

fichiers accessiweb2.2-insert.sql et rgaa3.0-insert.sql
–> différence pour la table TEST (non de classe et URL doc)

autres différences

le fichier web-app/sql-management/*.sql est une procédure SQL de création des contrats.
La différences entres les 2 versions de fichiers est importante, mais je ne sais pas si ce fichier
est vraiment utilisé directement dans la web-app… ping @mfaure


#6

Ce n’est pas forcément parlant, peux-tu nous partager les résultat de ces 4 requêtes SQL ?

select count(*) as Activated_users from TGSI_USER where Activated="1";
select count(*) as Nb_audit_commpleted from AUDIT where Status="COMPLETED";
SELECT count(*) as Nb_content FROM CONTENT where Id_Audit IN (select Id_Audit from AUDIT where Status="COMPLETED");
SELECT count(*) as Nb_web_resource FROM WEB_RESOURCE where Id_Audit IN (select Id_Audit from AUDIT where Status="COMPLETED");

#7

Bon, ça sera occasion de faire le ménage ;-). Je repart d’une install propre.


#8

mais tu garde ta DB ? :art:


#9

Non,

j’ai peu d’historique en fait, repartir d’une install propre est plus simple pour moi.


#10

Ok
la discussion a soulevé
quelques points à traiter… :mountain_cableway:


#11

Par hasard, ta nouvelle install, ce ne serait pas sur une RHEL (sans docker) ? :innocent: