Migration 7.2.2 => BDD

Juste installation locale pour test avec 10 utilisateurs fictifs , plusieurs sociétés . Beaucoup de nos process métier demande une adaptation . Je n ai pas personnalisé la 6.5 et suis reparti avec les dernière version de zéro . En remettant les données que j avais modifiées par import . Je ne suis qu’au début de l étude. J ai beaucoup de chose a tester avant de voir si la solution est pérenne et va y avoir beaucoup de choix d implémentation ( utilisation des programmes actuel , intégration , codage des modules manquants …)

@bDurtaut mes questions étaient pour PascalK :wink:
Pour mieux comprendre la situation et ce qu’il a payé, et ce qu’il s’attendait à payer pour l’usage, etc…

Mais c’est toujours intéressant de voir aussi ton cas

Perso je pense que l’absence de mise à jour automatique en Open Source doit exclure l’utilisation de cette dernière en AGPL, point (tu imagines si Ubuntu te disait que tu peux installer leur version mais pas mettre à jour sans écrire un script toi même ?)

Et donc dans un vrai environnement (pas de test) il faut considérer Axelor comme une solution commerciale (payante). D’ailleurs je vois que la page de tarifs a été mise à jour il y a quelques heures, et on voit maintenant, grâce aux tableaux de comparaison des versions, que c’est bien cette orientation qui est prise (avec la différenciation / restriction des modules accessibles)

Oui je viens de voir , certaines options déjà présente en open source sont une option ( comme le module temps réel ) . Open source mais commercial . Je pense va falloir passer a la caisse , car certaines choses sont obligatoire . Toutes les nouveautés sont payantes en fait , ou utiliser la version gratuites et faire nous même l intégration .

Merci pour vos retours

Pour vous répondre nous sommes une trentaine et somme passé par un intégrateur (40000 euros …)
Après ils se sont occupé de tous (Quasiment)

C’est aussi eux qui gère les licences mais l’info que tu me donnes au niveau des licences me parait déjà bien (Un pression éventuellement si je n’arrive pas à le faire moi même)

Nous avons uniquement un dev spécifique sur la mise en forme d’un rapport feuille d’heure.

Du point de vu de la mise à jour je suis entièrement d’accord avec toi mais ce qui reste un peu nul c’est qu’il n’y à aucune donnée pour la migration entre 6.5 et 7

Même les liens qui réfère vers d’ancienne doc sont plus à jour et nous retourne au manuel utilisateur

Si vous avez des licences ils doivent mettre a jour votre solution il me semble ?

C’est pas ce que mon intégrateur me dit (Devis à 10000 euros …)

J’ai appelé AXELOR à l’instant, très bonne accueil en passant
J’ai demandé s’il peuvent m’aider pour la migration de la base de données (ayant les licences et tous)

J’attends le retour d’un tech

Payes-tu des frais mensuels pour Axelor ?

Si ton intégrateur a pris une licence « Pro », tu dois payer par exemple 30 utilisateurs x 35 = 1050 euro / mois, et du coup si tu ne payes rien en mensuel, il est probable que tu sois sur la version AGPL (Open Source, gratuite, mais sans mise à jour automatique)

Sauf si ton déploiement initial contenait une année de licence 30 utilisateurs dans les 40k initiaux, mais je ne vois pas trop pourquoi ils auraient fait cela…

Dans tous les cas je ne pense pas qu’il soit trop tard pour prendre une licence en cours de route, mais il faut voir cela avec Axelor.

Et oui, je suis d’accord avec toi aussi bien sur l’absence de doc sur la v7 (les liens ne sont plus bons et redirigent vers des pages génériques).

Pour les changelog tu les as ici :

En gros dans l’idée si tu veux migrer en gardant une version AGPL, une méthodologie pourrait être :

  • faire un « diff » sur ta base de données pour voir les modifications de structure qui ont été apportées
  • recouper ces changements avec le changelog
  • analyser point par point si la manière de stockage (valeur directe, relation, changement total de méthode, type des champs, etc…) a pu évoluer sur certaines données que tu utilises
  • voir si tes des développements particuliers (app / personnalisation des formulaires / etc…) sont également impactées

Puis écrire un script pour migrer les données qui peuvent avoir été impactées.

Version courte et résumée : bon courage ! :stuck_out_tongue_winking_eye:

Oui la fonction diff et patch peux s’avérer utile avec une structure.sql
Je l’ai fais mais ne sais pas encore intégrer la structure a nouveau dans la BDD 6.5 pour modifier les TABLE.

Hello @PascalK

When you start the new application that points to the old database, the Hibernate ORM uses Java Entity to create new columns, new tables and new integrity constraints on the old database.

Please still check these messages below, as there are exceptions:

1 « J'aime »

Thank you PakMax, Yes I was able to understand that there were modifications to TABLES, but I find that there is a lack of information on the changelogs to fully understand the changes made, a list would have been perfect in order to properly create the script For example.

Merci PakMax, Oui j’ai pu comprendre qu’il y avait des modifications de TABLES, mais je trouve qu’il manque d’info sur les changelog pour bien comprendre les changements apporter, une liste aurait été parfait afin de bien créer le scripte par exemple.

Hello
Quelqu’un arriverai à m’expliquer les changelog depuis la version 7.0.0 ?

J’essaie de déterminer les différents changement de TABLES mais j’avoue être perdu dans leurs Changelog …

Par contre toujours pas de retour d’un tech AXELOR …

Bonjour , je ne pense pas que els changements de structures soient dans les changelogs .
Pour moi la meilleure façon de faire est de comparer les schémas dans pgAdmin

1 « J'aime »

Ah, pourtant c’est ce qu’il préconise dans la doc de migration 5 vers 6, de consulter les changelog mdr
J’ai récupérer du code des changelog, depuis la 7 je vais voir si j’arrive à faire se script et si ça marche, sinon oui comparaison des schémas

J’ai regrouper les différent bout de script intégrer dans les changelog depuis la 7 à la 7.2.2
(Des fois ils se répètent)

DELETE FROM meta_help WHERE field_name = ‹ generateProjectOrder ›;

UPDATE account_move_line moveLine
SET bank_reconciled_amount = 0
FROM account_account account
JOIN account_account_type accountType
ON account.account_type = accountType.id
WHERE moveLine.account = account.id
AND accountType.technical_type_select <> ‹ cash ›;

UPDATE production_sop_line SET sop_manuf_gap = sop_manuf_gap100;
UPDATE production_sop_line SET sop_sales_gap = sop_sales_gap
100;
UPDATE production_sop_line SET sop_stock_gap = sop_stock_gap*100;

UPDATE studio_app
SET image = null
WHERE image in
(SELECT id
FROM meta_file
where file_path LIKE ‹ app-% ›
AND file_type = ‹ image/png ›);

DELETE
FROM meta_file
WHERE file_path LIKE ‹ app-% ›
AND file_type = ‹ image/png ›;

ALTER TABLE account_invoice_payment ADD COLUMN IF NOT EXISTS reconcile bigint;

UPDATE account_invoice_payment payment SET reconcile = (SELECT id FROM account_reconcile reconcile WHERE reconcile.invoice_payment = payment.id) WHERE payment.reconcile IS NULL;

UPDATE account_invoice_payment payment SET reconcile = (
SELECT MIN(reconcile.id) FROM account_reconcile reconcile
INNER JOIN account_invoice_term_payment itp ON itp.invoice_payment = payment.id
INNER JOIN account_invoice_term it ON it.id = itp.invoice_term
INNER JOIN account_move_line ml ON ml.id = it.move_line
WHERE reconcile.debit_move_line = ml.id OR reconcile.credit_move_line = ml.id) WHERE payment.reconcile IS NULL;

ALTER TABLE account_reconcile DROP COLUMN invoice_payment;

DELETE FROM meta_action
WHERE name IN (
‹ action-invoice-term-method-compute-total-payment-session ›,
‹ action-payment-session-record-set-session-total-amount-btn ›,
‹ action-method-payment-session-compute-total ›
);

SOP/MPS: Rename manufacturingYear to manufacturingPeriod and added demo data.

Pourtant même en intégrant cela dans la BDD (Copie) de la 6.5, il y a souvent des erreurs comme quoi la table est inexistante etc …

(J’attends toujours le rappelle du tech AXELOR … )

Une question un peu bête
Il faut réinstaller les modules AXELOR dans la 7.2.2 avant de récupérer le schéma BDD pour faire la diff ?
Pas que c’est pour cela que je galère aussi

Bonjour , non la base de données est créée même si aucun module n’est installé

Hello
L’intégrateur m’a finalement fournit le script
J’ai pu voir aussi que je me trompait de version, je suis en 6.1.29 en faite
J’ai fait une première migration mais il me reste des erreur que je vais devoir corriger

En parallèle, j’essaie d’intégrer un module de dev spécifique mais je reste coincer sur le build de l’app en intégrant le module.

j’ai ces erreurs :

Task :modules:ms-innov:compileJava
/AOS/open-suite-webapp/modules/ms-innov/src/main/java/com/axelor/apps/msinnov/hr/service/timesheet/MsinnovTimesheetController.java:5: error: cannot find symbol
import com.axelor.apps.hr.report.IReport;
^
symbol: class IReport
location: package com.axelor.apps.hr.report
/AOS/open-suite-webapp/modules/ms-innov/src/main/java/com/axelor/apps/msinnov/hr/service/timesheet/MsinnovTimesheetController.java:9: error: package com.axelor.exception does not exist
import com.axelor.exception.AxelorException;
^
/AOS/open-suite-webapp/modules/ms-innov/src/main/java/com/axelor/apps/msinnov/hr/service/timesheet/MsinnovTimesheetController.java:23: error: cannot find symbol
throws AxelorException {
^
symbol: class AxelorException
location: class MsinnovTimesheetController
/AOS/open-suite-webapp/modules/ms-innov/src/main/java/com/axelor/apps/msinnov/hr/service/timesheet/MsinnovTimesheetController.java:26: error: cannot find symbol
User timesheetUser = timesheet.getUser();
^
symbol: method getUser()
location: variable timesheet of type Timesheet
/AOS/open-suite-webapp/modules/ms-innov/src/main/java/com/axelor/apps/msinnov/hr/service/timesheet/MsinnovTimesheetController.java:37: error: cannot find symbol
ReportFactory.createReport(IReport.TIMESHEET, name)
^
symbol: variable IReport
location: class MsinnovTimesheetController
5 errors

Après investigation dans les modules AXELOR 7.2.2 effectivement il n’y a pas les classe demander pour le build de mon dev spécifique

le IReport par exemple n’existe pas dans le module rh axelor 7.2.2, existait-il dans la 6.1 ?

EDIT :
J’ai regarder dans le projet Github 6.1 pour le répondre, effectivement la classe à disparue
Je pense qu’il faut que je regarde avec l’intégrateur alors car le code doit changer

Bonjour Pascal,

as-tu finalement été accompagné par le tech AXELOR pour la montée de version ? es-tu arrivé au bout ?

cdlt

Hello tricard
Oui nous avons pu obtenir le scripte et effectuer la migration en partant des source et l’intégrateur devait refaire mes dev spec car plus compatible.
Cependant il y a beaucoup de reliquat de migration, je conseil de faire plusieurs étape pour vos migrations BDD

6.1 => 6.5 => 7.0 etc etc