flask-migrate一個用來作數據遷移的falsk擴展,通常都是結合flask-sqlalchemy使用,在上一篇文章中我也介紹了這個擴展,須要的小夥伴能夠看一下,後續我會將flask-sqlalchemy更深層的寫出來。
【config.py】python
SQLALCHEMY_DATABASE_URI='mysql://root:mysql@127.0.0.1:3306/test' //數據庫鏈接 SQLALCHEMY_TRACK_MODIFICATIONS=False
【data_migrate.py】mysql
from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_script import Manager #這是一個作腳本調式的庫,有時間我也會總結 from flask_migrate import Migrate,MigrateCommand app = Flask(__name__) app.config.from_envvar('config.py') db = SQLAlchemy(app) migrate = Migrate(app, db) manager = Manager(app) manager.add_command('db', MigrateCommand) class User(db.Model): #建立一個模型類,用於作數據遷移 id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(32)) if __name__ == '__main__': manager.run()
【控制檯測試】sql
>>>python data_migrate.py db init //建立遷移存儲庫 >>>python data_migrate.py db migrate -m '版本名後綴' //生成初始遷移 >>>python data_migrate.py db upgrade //將遷移應用於數據庫 //如有修改,可重複執行2/3這兩條命令 >>>python 文件 db history //顯示整個歷史版本記錄 【其餘命令】 python data_migrate.py db --help //幫助,查找全部命令 python data_migrate.py db current //顯示當前版本 python data_migrate.py db upgrade 版本號 //升級版本,不指定版本爲最新版本 python data_migrate.py db downgrade 版本號 //降級數據庫,不指定版本則是最老版本