[Résolu] Activation de l'application creme.mobile dans CrèmeCRM 2.6.8
#1
Bonjour,

Je n'arrive pas à activer l'application 'creme.mobile' dans CrèmeCRM 2.6.8.

Si je décommente la ligne INSTALLED_APPS.append('creme.mobile') dans le fichier settings.py ou si je décommente directement la ligne "'creme.mobile'," dans la variable INSTALLED_CREME_APPS du fichier ~/venv/creme_2_6/lib/python3.13/site-packages/creme/settings.py, j'obtiens la même erreur lors de la migration :

Code :
(creme_2_6) www-data@test:~/my_project$ creme migrate --settings=my_project.settings
Traceback (most recent call last):
  File "/srv/www/venv/creme_2_6/bin/creme", line 8, in <module>
    sys.exit(execute())
            ~~~~~~~^^
  File "/srv/www/venv/creme_2_6/lib/python3.13/site-packages/creme/manage.py", line 39, in execute
    execute_from_command_line(argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/srv/www/venv/creme_2_6/lib/python3.13/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
    ~~~~~~~~~~~~~~~^^
  File "/srv/www/venv/creme_2_6/lib/python3.13/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/srv/www/venv/creme_2_6/lib/python3.13/site-packages/django/core/management/base.py", line 412, in run_from_argv
    self.execute(*args, **cmd_options)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/www/venv/creme_2_6/lib/python3.13/site-packages/django/core/management/base.py", line 458, in execute
    output = self.handle(*args, **options)
  File "/srv/www/venv/creme_2_6/lib/python3.13/site-packages/django/core/management/base.py", line 106, in wrapper
    res = handle_func(*args, **kwargs)
  File "/srv/www/venv/creme_2_6/lib/python3.13/site-packages/django/core/management/commands/migrate.py", line 120, in handle
    executor.loader.check_consistent_history(connection)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/srv/www/venv/creme_2_6/lib/python3.13/site-packages/django/db/migrations/loader.py", line 327, in check_consistent_history
    raise InconsistentMigrationHistory(
    ...<8 lines>...
    )
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration creme_core.0150_v2_6__settingvalue_json03 is applied before its dependency mobile.0005_v2_6__settingvalue_json on database 'default'.


Il semble y avoir un problème dans l'ordre d'application des dépendances.
Est-ce un problème interne à CrèmeCRM ou ai-je mal configuré le logiciel dans les fichiers settings.py ?

PS :  je sais qu'il serait préférable de ne modifier que le fichier local_settings.py, mais je n'ai pas trouvé comment faire.
Crème CRM 2.6.8 sur Debian GNU/Linux 13 Trixie avec Apache2 + WSGI
  Répondre
#2
Bonjour,

vous venez de trouver un petit bug de conception avec les migrations de Creme 2.6 ; si vous voulez l'app "mobile", les migrations fonctionnent bien :
 - si on upgrade depuis Creme 2.5 (avec "mobile" qui était déjà activée en 2.5 donc).
 - si vous faites une installation neuve de Creme 2.6 avec "mobile" activée dès le début.

Mais il y a un souci avec l'activation de l'app "mobile" sur une 2.6 déjà installée ; pas d'inquiétude ça se corrige facilement:
 - soit votre base de données 2.6 est juste une base de test, vous avez encore votre Creme 2.5 qui tourne. Dans ce cas, installez "mobile" sur votre instance de Creme 2.5 avant de faire l'upgrade (avec "mobile" qui est déjà activée au moment de l'upgrade initiale donc).
 - soit vous tournez déjà en production sur Creme 2.6: dans le fichier "creme/mobile/migrations/0005_v2_6__settingvalue_json.py", mettez en commentaire l'attribut "run_before". Puis lancez les commandes "migrate" & "creme_populate" comme d'habitude.

Bonne journée !
  Répondre
#3
(02-06-2025, 10:37)genglert a écrit : Mais il y a un souci avec l'activation de l'app "mobile" sur une 2.6 déjà installée ; pas d'inquiétude ça se corrige facilement:
[...]
 - soit vous tournez déjà en production sur Creme 2.6: dans le fichier "creme/mobile/migrations/0005_v2_6__settingvalue_json.py", mettez en commentaire l'attribut "run_before". Puis lancez les commandes "migrate" & "creme_populate" comme d'habitude.

Bonne journée !

Bonjour @genglert,

La mise en commentaire de l'attribut 'run_before' a fonctionné.

Merci beaucoup.
Crème CRM 2.6.8 sur Debian GNU/Linux 13 Trixie avec Apache2 + WSGI
  Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)