1.做项目时,经常需要修改数据库字段,一般修改了model字段后,需要删除数据库重新更新,调用db.creat_all()来重新建表。但是,flask引入了flask-script和flask-migrate解决。(自行安装 pip install)
2.新建一个helper.py文件夹。
from app.models.base import db
from mesage_Tab import app
manager = Manager(app)
#要使用flask-migrat 先绑定db和app
migrate = Migrate(app,db)
# 将MigrateCommand添加到manager中,"db"是自定义命令
manager.add_command("db",MigrateCommand)
if __name__ == "__main__":
manager.run()
3.打开终端,进入项目根目录,执行下面命令
python helper.py db init
初始化成功后,你的项目目录多了一个migrattions文件夹
4.修改了model表中字段后,执行下面命令
python helper.py db migrate
可以看见修改的命令
执行完成后,migrations文件夹下 versions里面会多出文本文件,检查表格及字段。
5.修改数据库
python helper.py db upgrade
upgrade会自动读取刚才生成的文件,将数据更新到数据库中。
执行完成后,数据库表中就添加了我们需要的字段。
【注1python helper.py db migrate 将模型生成迁移文件,只要模型修改了,就执行一次这个命令】
【注2:python helper.py db upgrade 将迁移文件真正映射到数据库中,每次运行了migrate命令,就要记得运行这个命令,不然数据库中的信息是不会被修改的。】