Closed zinebIdl closed 4 years ago
Je viens de tester le code sur le serveur : je ne vois plus l'erreur SQL, mais par contre j'ai toujours l'erreur suivante:
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:496)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:442)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at de.symeda.sormas.api.FacadeProvider.lookupEjbRemote(FacadeProvider.java:280)
... 66 more
Caused by: javax.naming.NameNotFoundException: ConfigFacade not found
at com.sun.enterprise.naming.impl.TransientContext.doLookup(TransientContext.java:237)
at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:204)
at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:208)
at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:208)
at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:208)
at com.sun.enterprise.naming.impl.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:70)
at com.sun.enterprise.naming.impl.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:114)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:483)
... 70 more
fichier de log : server.log
Y'a toujours l'erreur concernant org.postgresql.util.PSQLException: ERROR: relation "action" already exists. Je pense qu'il essaie de recréer cet élément dans la base en relançant le sormas_schema.sql, il a dû être mal inséré.
Je pense qu'il faut que la relation soit supprimé pour qu'elle soit bien inséré.
@GRADeS-Gwen Y a-t-il eu dernièrement des scripts/commandes SQL exécutés manuellement sur le serveur ?
Peux-tu indiquer le contenu de la table schema_version
sur le serveur ?
Je n'ai pas accès au serveur, mais je pense que lors de la merge lors de l'ajout de Actions de l'événement dans la page événement y a sûrement eu des modifications de base, il faut regarder de ce côté.
Aucune modification manuelle n'a été faite. Voici le contenu de la table schema_version
: schema_version.csv.gz
Si vous m'indiquez quelle relation serait à ssupprimer, je pourrais le faire avec une requête.
Peux t-on supprimé la table action avec les clés et index associés ?
La base actuelle n'est pas en bonne version, cela vient du merge de la branche de dev HZI il y a quelques semaines. Il y avait des
La PR https://github.com/GIP-GRADeS-BFC/SORMAS-Project/pull/21#issue-441291101 a corrigé le problème de conflit au niveau du script SQL. Il n'en reste pas moins que la base actuelle ne correspond pas aux versions attendues.
cf. commentaire dans la PR
Il est à noter qu'au démarrage de l'application, les patches (ensembles de commandes SQL avant la ligne INSERT INTO schema_version (…)) non enregistrés dans schema_version sont exécutés. Lors du déploiement de cette version sur le serveur de test, la migration du schéma de base de données ne pourra pas s'effectuer correctement. En effet, la version GRADeS précédente a enregistré les patchs 216 à 218, ils ont maintenant les numéros 218 à 220. Cela vient du fait que la version HZI a également défini les version 216 et 217. Il faudra donc corriger le schéma de la base de données et appliquer les scripts de migration manuellement (avec les bons numéros de version).
La base actuelle indique que les informations suivantes pour les scripts 216 à 218 :
version_number | comment |
---|---|
216 | Adds the field origin of the source of an event |
217 | Adds actions to events |
218 | Add field type of risk of an event |
alors que ces scripts correspondent maintenant aux version 218 à 220.
@zinebIdl supprimer la table ne suffit pas, car Sormas voit la base de données en version 218, il pense donc que les scripts 216, 217 et 218 ont été passé mais ce n'est pas le cas.
1 - Modifier les version_number
des scripts 216, 218 et 219
UPDATE schema_version SET version_number = version_number + 2 WHERE version_number = 218;
UPDATE schema_version SET version_number = version_number + 2 WHERE version_number = 217;
UPDATE schema_version SET version_number = version_number + 2 WHERE version_number = 216;
2 - Exécuter manuellement les scripts SQL 216 et 217
Je comprends le souci, par contre comme je n'ai pas accès à la base de dev, je ne peux lancer les scripts moi même.
La correction au niveau des déploiements des scripts de base a fonctionné : schema_version(1).csv.gz
Et j'ai tenté un redéploiement derrière du code de ce PR est c'est passé.
Au vu des problèmes lié à la base, je vais intégrer à ma procédure de déploiement un backup de la base pre-deploiement.
Mais les merges des sources sormas nécessiterons à chaque fois un traitement particulier pour "augmenter" les révisions de nos scripts.
add update schema_version