0


Flask-sqlalchemy更新数据库

Flask开发过程中,难免不会在开发工程中修改数据库信息,如添加字段,修改字段类型等,Flask可以通过扩展库flask-migrate来更新DEBUG中的工程数据库,更新数据库步骤如下:
1、首先需要安装flask_migrate,pip install flask_migrate

2、因为flask_sqlalchemy是通过终端命令更新,所以需要flask_script来接收终端命令:pip install flask_script

3、初始化及通知flask_script的Manager接收migrate更新数据库指令:
from flask_migrate import MigrateCommand
from flask_script import Manager

 from app import create_app

 app = create_app()
  manager = Manager(app)
  manager.add_command("db", MigrateCommand)

 if __name__ == '__main__':
      manager.run()

4、初始化Migrate,在终端输入两条命令:

 python manager.py db init

 python manager.py db migrate

,执行完成后在你的工程根目录会生成migrations目录,里边主要是展示你的数据库所有更新信息,如下图:

5、更新model,
class Tag(db.Model):
tablename = 'tag'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(100), nullable=False)
state = db.Column(db.Boolean, comment="0:enable; 1:disable")
终端输入执行升级数据库指令:python manager.py db upgrade,当然你也可以降级更新数据库:python manager.py db downgrade,

注:如果仅仅是定义类Model,直接命令更新数据库是不会更新的,需要运行时有调用到才会有效,引入(from app.models.Tag import Tag)该类后再执行更新指令才能更新成功。

标签: flask 数据库 python

本文转载自: https://blog.csdn.net/weishengwen2/article/details/125310050
版权归原作者 板砖也快乐 所有, 如有侵权,请联系我们删除。

“Flask-sqlalchemy更新数据库”的评论:

还没有评论