Flask-Migrate的作用以及安裝
阿新 • • 發佈:2018-06-11
更新數據 div eat 了解 ins class ade 文件 重新
1.因為采用db.create_all() 在後期修改表字段時,不會自動映射到數據庫中,必須刪除表,然後重新運行才會映射,這樣不符合實際的需求,因此flask-Migrate就是為了解決這個問題,它可以在每次修改模型後,可以將修改的東西映射到數據庫中。
2.首先進入到flask的虛擬環境或者物理環境中 然後使用pip install flask-migrate進行安裝;安裝flask-script 支持命令行操作 pip install flask
-
script
創建manage.py文件
from flask_script import Manager from flask_migrate importMigrate,MigrateCommand #主文件中導入app初始化manage from zhihu import app #db = SQLAlchemy() from exts import db #導入需要遷移的數據庫模型 from models import User,Questions,Answer #讓python支持命令行工作 manager = Manager(app) #使用migrate綁定app和db migrate = Migrate(app,db) #添加遷移腳本的命令到manager中 manager.add_command(‘db‘,MigrateCommand)if __name__ == ‘__main__‘: manager.run()
初始化
(venv) $ python manage.py db init創建遷移腳本
(venv) $ python manage.py db migrate更新數據庫
(venv) $ python hello.py db upgrade 第一次遷移實際上相當於調用db.create_all(),但在後續遷移中,upgrade命令對表實施更新操作但不影響表中的內容。Flask-Migrate的作用以及安裝