flask 中途修改数据库Model
Posted fiona-zhong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask 中途修改数据库Model相关的知识,希望对你有一定的参考价值。
在做项目的过程中,我们都遇到过,经常需要修改我们数据库的字段,在flask中,是通过ORM(对象关系映射)来创建数据库的,表--->model class,字段---->属性
在flask中,修改了model后,要同步数据库,需要用到flask_script 和 flask_migrate(pip install)
1、代码中配置环境
在入口文件中:
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommond
from apps import instance_app, db
app = instance_app()
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command("db", MigrateCommond)
@manager.command
def dev():
from livereload import Server(pip install livereload)
live_server = Server(app.wsgi_app)
live_server.watch("**/*.*")
live_server.server(open_url = True)
if __name__ == "__main__":
manager.run()
2、打开终端,进入项目根目录,执行下面命令
python app.py(你的入口文件名) db init
初始化成功后,你的项目目录多了一个migrattions文件夹
3、修改了model的字段后,执行下面的命令
python app.py db migrate
从执行过程中我们可以看到我们修改的字段
执行完成后,再去查看生成的migrations文件夹,下面的versions里面会多出来一个.py的迁移脚本文件,检查表格及字段
3、更新数据库
python app.py db upgrade
upgrade会自动读取刚才生成的文件,将数据更新到数据库中。
执行完成后,检查你的数据库,发现数据库字段按照我们的需要更新了。
4、回滚事物
1)运行 python app.py db history
查看历史版本,得到history-id
2)运行 python app.py db downgrade history-id
会退到指定历史版本
以上是关于flask 中途修改数据库Model的主要内容,如果未能解决你的问题,请参考以下文章