Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

erreur migration 0ff8fc0b4233 remove_archive_schema #471

Closed
joelclems opened this issue Sep 7, 2023 · 7 comments · Fixed by #472
Closed

erreur migration 0ff8fc0b4233 remove_archive_schema #471

joelclems opened this issue Sep 7, 2023 · 7 comments · Fixed by #472

Comments

@joelclems
Copy link
Contributor

Je suis tombé sur une erreur de migration alembic sur la migration 0ff8fc0b4233 remove_archive_schema

INFO  [alembic.runtime.migration] Running upgrade 6f60b0b934b1 -> 0ff8fc0b4233, remove_archive_schema
/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/base.py:299: SAWarning: Can't validate argument 'dialect_options'; can't locate any SQLAlchemy dialect named 'dialect'
  util.warn(
Traceback (most recent call last):
  File "/usr/local/bin/geonature", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/decorators.py", line 34, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/flask/cli.py", line 357, in decorator
    return __ctx.invoke(f, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/utils_flask_sqla/commands.py", line 100, in autoupgrade
    flask_migrate.upgrade(directory, revision, sql, tag, x_arg)
  File "/usr/local/lib/python3.10/site-packages/flask_migrate/__init__.py", line 111, in wrapped
    f(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/flask_migrate/__init__.py", line 200, in upgrade
    command.upgrade(config, revision, sql=sql, tag=tag)
  File "/usr/local/lib/python3.10/site-packages/alembic/command.py", line 385, in upgrade
    script.run_env()
  File "/usr/local/lib/python3.10/site-packages/alembic/script/base.py", line 582, in run_env
    util.load_python_file(self.dir, "env.py")
  File "/usr/local/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 94, in load_python_file
    module = load_module_py(module_id, path)
  File "/usr/local/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 110, in load_module_py
    spec.loader.exec_module(module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/local/lib/python3.10/site-packages/geonature/migrations/env.py", line 88, in <module>
    run_migrations_online()
  File "/usr/local/lib/python3.10/site-packages/geonature/migrations/env.py", line 82, in run_migrations_online
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/usr/local/lib/python3.10/site-packages/alembic/runtime/environment.py", line 928, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/usr/local/lib/python3.10/site-packages/alembic/runtime/migration.py", line 628, in run_migrations
    step.migration_fn(**kw)
  File "/usr/local/lib/python3.10/site-packages/gn_module_import/migrations/0ff8fc0b4233_remove_archive_schema.py", line 32, in upgrade
    op.drop_column(archive_table, "gn_pk", "gn_import_archives")
  File "<string>", line 8, in drop_column
TypeError: drop_column() takes 3 positional arguments but 4 were given
@camillemonchicourt
Copy link
Member

Ah c'est au moment de passer sur la v2 du module quand on supprimé le schéma de BDD stockant les données sources importées (pour les stocker désormais au format binaire dans la table t_imports) que quelque chose a du bloquer dans les imports archivés.
On n'a pas rencontré ça auparavant.
Si tu trouves le soucis dans cette instance qui fait que la migration n'a pas réussi à supprimer le schéma ?

@joelclems
Copy link
Contributor Author

joelclems commented Sep 7, 2023

une sombre erreur d'argument (en spécifiant schema= ça marche)
il reste des tables à supprimer à la main s'il elle n'ont pas de correspondance dans les import pour que la migration passe (mais c'est spécifié dans les erreur levées)

@DonovanMaillard
Copy link
Collaborator

Déjà remonté quelque chose de similaire, sauf erreur tu étais en 1.2 auparavant ?

Le script remove schema archive utilise la variable "gn_is_valid" qui avait disparu dans la 1.2 si je me trompe pas.

La refonte s'étant faite en parallèle de la 1.2, ses scripts de migrations avaient été fait pour faire 1.1->2.0 et ce genre de couac est apparu...

@joelclems
Copy link
Contributor Author

oui je suis parti de la 1.1.7, puis je passé manuellement à la version de base 1.2.0 avant de lancer les migrations

@DonovanMaillard
Copy link
Collaborator

D'acc, il semble que c'est un autre soucis que tu as eu si ton fix a fonctionné. Il me semblait que l'erreur que je citais au dessus avait été corrigée mais je crois que Xavier est retombé aussi dessus depuis. En tous cas effectivement, la migration vers la 2.0 n'était pas la plus fluide.

@joelclems
Copy link
Contributor Author

j'ai aussi eu une table à supprime à la main, remontée par cet erreur

raise NoReferenceError(
f"No import linked with archive table '{archive_table}'."
" Please backup (if wanted) and delete this archive table manually."

@camillemonchicourt
Copy link
Member

Petit détail dans la migration, corrigé dans la 2.2.1.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants