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)该类后再执行更新指令才能更新成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值