Open MoulinZ opened 4 months ago
Bonjour @MoulinZ,
Pour associer l'objet SQLAlchemy avec l'application Flask, il faut passer par la méthode init_app(application_flask)
de l'object flask_sqlalchemy.SQLAlchemy
(Voir documentation https://flask-sqlalchemy.palletsprojects.com/en/3.1.x/quickstart/#configure-the-extension)
Tu peux t'inspirer de : https://github.com/PnX-SI/UsersHub/blob/1b5b79f19fadb4688860b4219fbf58df4554547e/app/app.py#L68
db est initialisé dans env.py : https://github.com/PnX-SI/UsersHub/blob/1b5b79f19fadb4688860b4219fbf58df4554547e/app/env.py#L10
donc ça revient à faire
db = SQLAlchemy()
db.init_app(app)
Qui revient au même que de déclarer en une lignedb = SQLAlchemy(app)
non ?
En tout cas j'ai essayé j'ai la même erreur.
Les routes "maison" de mon backend fonctionnent sans problème. C'est bien les routes de pypnusershub qui renvoient cet erreur. Comme si pypnusershub créait lui aussi une instance flask.
Est-ce que tu as essayé d'initialiser l'objet SQLAlchemy avant l'ajout des routes ?
oui j'y ai pensé, mais pas de changement.
pypnusershub initialise déjà un objet SQLAlchemy ?
En effet, oui ! Il faut lui indiquer le chemin vers l'objet db
dans la variable d'environnement FLASK_SQLALCHEMY_DB
:
Sinon, il crée une nouvelle instance de SQLAlchemy
Pour l'instant ça n'a pas réglé mon problème. J'ai downgrade mon UsersHub pour que tout refonctionne.
Bonjour,
Je suis passé de UsersHub 2.4.2 à 2.4.3. J'ai maintenant une erreur sur une application tierce qui utilise pypnusershub pour gérer les inscriptions et renouvellement de mot passe : non autorisé. J'ai donc décidé d'upgrader ma version de pypnusershub de 2.0.0 à 2.1.5 et par conséquent les dépendances notamment le passage à Flask 3. Là j'ai un nouveau problème que je n'avais pas avant, qui est le suivant :
Je ne trouve pas comment le résoudre...
Mon fichier app.py :
Merci pour votre aide !