Outils pour utilisateurs

Outils du site


Panneau latéral

Plan du Site:

python:flask:flask_migrate

Flask-Migrate

Installation

pip install flask-migrate

Initialisation

Ajouter une propriété migrate dans l'application, après la création de la db :

from flask            import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate    import Migrate
 
# Création de l'objet application
app = Flask(__name__)
 
# ...
 
# Création de l'objet db et import des classes de modèles
db = SQLAlchemy(app)
from app.models import *
 
# ...
 
# Création de l'objet migrate
migrate = Migrate(app, db)

Créer et initialiser le dossier des migrations :

(venv) $ flask db init

Commandes

Vérifier s'il y a des changements au niveau des modèles, si oui une nouvelle migration devra être générée :

flask db check

Migration

Un cycle se déroule comme suit :

  • Modifier les classes de modèles
  • Créer une migration automatique
    • Voir flask db migrate
  • Vérifier le code de migration avant de l'appliquer
    • Il peut être nécessaire d'ajuster le code généré automatiquement
  • Appliquer la migration à la base de données
    • Voir flask db upgrade

flask db migrate :

(venv) $ flask db migrate
 
# avec un éventuel message :
(venv) $ flask db migrate -m "Initial migration"
(venv) $ flask db migrate -m "Added users table"

flask db upgrade

(venv) $ flask db upgrade
python/flask/flask_migrate.txt · Dernière modification: 2023/09/21 05:03 par marclebrun