1. 程式人生 > >Flask-Migrate的作用以及安裝

Flask-Migrate的作用以及安裝

更新數據 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 import
Migrate,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的作用以及安裝