pip install flask-migrate
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
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
Un cycle se déroule comme suit :
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