Probleme de mise à jour Dokos 2 -> 3.x.x

Bonjour,

J’utilisais depuis 2 ans Dokos version 2 sur une machine virtuelle Ubuntu 18.04, sans problèmes jusqu’ici.

Après avoir mis à jour Ubuntu en 20.04, je tente la mise à jour en version 3.x.x en suivant les étapes de ce lien :

Migrer vers la version 3 de Dokos · Dokos Documentation

A la commande permettant la migration de l’environnement python, j’ai l’erreur ci-dessous. Je ne trouve nulle part la solution à ce problème. Peut-être que j’ai mal cherche ou que je ne procède pas de la bonne manière ?

Toute aide serait la bienvenue.

Merci.

erp@Erp:~/dokos-bench$ bench migrate-env python3.10
$ /usr/bin/redis-cli -p 13000 FLUSHALL
OK
$ /usr/bin/redis-cli -p 13000 FLUSHDB
OK
$ /usr/bin/python3.10 -m venv /home/erp/dokos-bench/env
Error: Command ‹ [ ›/home/erp/dokos-bench/env/bin/python3.10’, ‹ -m ›, ‹ ensurepip ›, ‹ –upgrade ›, ‹ –default-pip ›]’ returned non-zero exit status 1.
ERROR:
subprocess.CalledProcessError: Command ‹ /usr/bin/python3.10 -m venv /home/erp/dokos-bench/env › returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File « /home/erp/.local/bin/bench », line 8, in
sys.exit(cli())
File « /home/erp/.local/lib/python3.10/site-packages/bench/cli.py », line 132, in cli
bench_command()
File « /home/erp/.local/lib/python3.10/site-packages/bench/commands/utils.py », line 211, in migrate_env
migrate_env(python=python, backup=backup)
File « /home/erp/.local/lib/python3.10/site-packages/bench/utils/bench.py », line 227, in migrate_env
exec_cmd(f"{python} -m venv {pvenv}")
File « /home/erp/.local/lib/python3.10/site-packages/bench/utils/init.py », line 158, in exec_cmd
raise CommandFailedError from subprocess.CalledProcessError(return_code, cmd)
bench.exceptions.CommandFailedError

Bonjour @Richard,

Si la migration ne marche pas du premier coup, c’est possible de faire autrement : Tu peux recréer un deuxième bench manuellement directement sur Dokos 3.

Archive de la documentation pour la version 3

Ensuite, tu pourras déplacer/copier tes sites existants à l’intérieur du nouveau bench, puis lancer bench update --reset. Mieux vaut garder des sauvegardes des données en lieu sûr en attendant que tu aies vérifié la migration.


Enfin, si tout se passe bien, tu pourras passer à la version 4 de Dokos car la v3 est en fin de vie.

Corentin

Merci Corentin pour cette réponse rapide.

J’ai donc créé le nouveau bench comme indiqué dans la doc, puis j’ai copié le répertoire « sites » de l’ancien, et également le répertoire « config ». Je ne sais pas si j’ai eu raison pour ce dernier ? Qu’en penses tu ?

Ensuite j’ai lancé « bench update --reset » et le logiciel semble fonctionner en version 3.

Merci. Je vais tenter maintenant Ubuntu 22.04 et la version 4.

1 « J'aime »

Bonsoir,

Apres tentative de migration vers la V4, la dernière étape « bench update --reset » se termine par un problème semble-t-il de base de donnée :

File « /home/erp/dokos-bench/env/lib/python3.10/site-packages/pymysql/err.py », line 143, in raise_mysql_exception
raise errorclass(errno, errval)
data = b"\xff\x1e\x04#42S22Unknown column ‹ tabAsset Finance Book.daily_prorata_based › in ‹ field list ›"
errno = 1054
errval = « Unknown column ‹ tabAsset Finance Book.daily_prorata_based › in ‹ field list › »
errorclass = <class ‹ pymysql.err.OperationalError ›>
pymysql.err.OperationalError: (1054, « Unknown column ‹ tabAsset Finance Book.daily_prorata_based › in ‹ field list › »)

A ce stade je ne sais pas quoi faire ?

Merci encore et bonne soirée.

Bonjour @Richard,

Il y a effectivement un bug dans ce patch de migration de Dokos v4.1.0, on va faire une release rapidement. Malgré l’erreur ça m’a l’air très encourageant.

Le champ daily_prorata_based n’existe tout simplement pas dans Dokos mais est référencé par un patch de migration pour les Actifs comptables. Une fois la mise à jour disponible, tu pourras faire un bench update.

Bonjour @Richard,

Le problème est corrigé depuis la v4.2.0. Est-ce que tu as rencontré des problèmes dans Dokos 3 qui pourraient être liés à la migration depuis Dokos 2 ?

Sinon je te souhaite bonne migration vers Dokos 4 et bonne journée.
Corentin

Bonjour Corentin,

Merci pour ce message. Concernant Dokos 3, je n’ai pas eu de problèmes.
Je viens de faire la migration vers la v4.2.1, et tout semble fonctionnel.

J’ai eu 2 erreurs non fatales durant la migration 3.X.X → 4.2.1, je vous les copie/colle pour information ci-dessous.

Merci encore et bon week-end.

Richard.


[notice] A new release of pip is available: 23.0.1 → 23.3.2
[notice] To update, run: /home/erp/dokos-bench/env/bin/python -m pip install --upgrade pip
erp@Erp:~/dokos-bench$ bench get-app Dokos / Webshop · GitLab --branch v4
Getting webshop
$ git clone Dokos / Webshop · GitLab --branch v4 --depth 1 --origin upstream
Cloning into ‹ webshop ›…
warning: redirecting to Dokos / Webshop · GitLab
remote: Enumerating objects: 258, done.
remote: Counting objects: 100% (258/258), done.
remote: Compressing objects: 100% (239/239), done.
remote: Total 258 (delta 16), reused 160 (delta 4), pack-reused 0
Receiving objects: 100% (258/258), 386.15 KiB | 6.66 MiB/s, done.
Resolving deltas: 100% (16/16), done.
Ignoring dependencies of Dokos / Webshop · GitLab. To install dependencies use --resolve-deps
Installing webshop
$ /home/erp/dokos-bench/env/bin/python -m pip install --quiet --upgrade -e /home/erp/dokos-bench/apps/webshop

[notice] A new release of pip is available: 23.0.1 → 23.3.2
[notice] To update, run: /home/erp/dokos-bench/env/bin/python -m pip install --upgrade pip
$ bench build --app webshop
:heavy_check_mark: Application Assets Linked

yarn run v1.22.10
$ node esbuild --production --apps webshop --run-build-command
✘ [ERROR] Could not resolve « frappe/public/js/frappe/ui/web_calendar »

../webshop/webshop/public/js/booking_section.js:7:7:
  7 │ import "frappe/public/js/frappe/ui/web_calendar";
    ╵        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can mark the path « frappe/public/js/frappe/ui/web_calendar » as external to exclude it from the
bundle, which will remove this error.

ERROR There were some problems during build


Voici la deuxième erreur non fatale :(à la commande switch-to-branch) :
$ /home/erp/dokos-bench/env/bin/python -m pip install --quiet --upgrade -e /home/erp/dokos-bench/apps/payments
ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
erpnext 3.36.9 requires gocardless-pro~=1.37.0, but you have gocardless-pro 1.47.0 which is incompatible.
Installing erpnext
$

Hmm c’est curieux comme erreur. Tu pourrais m’indiquer la version des apps installées avec la commande suivante ?

bench version -f table

Si tu utilises le système de réservation d’articles, ça vaut le coup de vérifier que la page d’article réservable fonctionne : exemple sur la démo.




gocardless-pro~=1.37.0, but you have gocardless-pro 1.47.0

Rien de grave ici

Voici les versions :

Bonne soirée.

PS : je n’utilise pas les réservations d’articles. (mais je ne voudrais pas que cette erreur en produise d’autres lors d’une future mise à jour). En fait, je n’utilise pas Webshop. J’ai du l’installer par erreur lors d’une mise à jour.

erp@Erp:~/dokos-bench$ bench version -f table
+----------+---------+--------+---------+
| App      | Version | Branch | Commit  |
+----------+---------+--------+---------+
| erpnext  | 4.2.1   | v4     | 22bed57 |
| frappe   | 4.3.0   | v4     | d3c5157 |
| hrms     | 2.1.0   | v4     | 78fa31b |
| payments | 2.0.0   | v4     | c646292 |
| webshop  | 1.2.1   | v4     | 360e11b |
+----------+---------+--------+---------+