flask資料庫遷移實際操作

2021-08-20 19:15:17 字數 1471 閱讀 8974

要點: 1. 工廠模式下的遷移,使用flask_script下的manager

2. 使用遷移類migrate將應用和資料庫物件儲存起來

3. 將資料庫的遷移命令migratecommand新增到manager中

from flask import flask

from flask_migrate import migrate, migratecommand

from flask_script import manager

from flask_sqlalchemy import sqlalchemy

# 建立資料遷移,使用工廠模式flask_script的manager

# 建立遷移物件

# 在manager中增加命令

manager.add_command('db',migratecommand)

rec = db.table('rec',

db.column('student_id', db.integer, db.foreignkey('student.id')),

db.column('course_id', db.integer, db.foreignkey('course.id'))

)class

student

(db.model):

id = db.column(db.integer(), primary_key=true)

name = db.column(db.string(64), unique=true)

kecheng = db.relationship('course', secondary=rec, backref=db.backref('student', lazy='dynamic'))

class

course

(db.model):

id = db.column(db.integer(), primary_key=true)

name = db.column(db.string(64), unique=true)

class

course2

(db.model):

id = db.column(db.integer(), primary_key=true)

name = db.column(db.string(64), unique=true)

defindex

():return

'hello world!'

if __name__ == '__main__':

manager.run()

執行:

python3 migrate.py db init # 初始化

python3 migrate.py db migrate -m』first』 # 首次遷移,但是不會建立表裡的字段

python3 migrate.py db upgrade # 公升級到剛才的版本,且會建立字段

Flask資料庫遷移

在開發過程中,需要修改資料庫模型,且還要在修改之後更新資料庫。最直接的 式就是刪除 舊表,但這樣會丟失資料。更好的解決辦法是使 資料庫遷移框架,它可以追蹤資料庫模式的變化,然後把變動應 到資料 庫中。在flask中可以使 flask migrate擴充套件,來實現資料遷移。並且整合到flask sc...

flask資料庫遷移

1.pip3 install flask script 安裝專案管理包 flask script 2.pip3 install flask migrate 安裝資料遷移包 flask migrate 1.匯入包 from flask script import manager from flask ...

flask 資料庫遷移

安裝flask migrate pip install flask migratepython manager.py db init 自動建立遷移指令碼有兩個函式 upgrade 函式把遷移中的改動應用到資料庫中。downgrade 函式則將改動刪除。python manager.py db mig...