python flask-migrate和flask-script

使用flask-migrate和flask-script实现数据库修改

#     命令行管理文件:
#           - 包含数据库迁移命令
#           - 包含数据库修改命令
"""
from flask_migrate import  Migrate, MigrateCommand
from flask_script import  Shell, Manager
from models import app, db, User, Department
# 用来管理命令的对象, Manager用来跟踪所有名林不过并处理他们如何从命令行调用;
manager = Manager(app)
migrate = Migrate(app, db)
# 添加一条数据库迁移管理的命令
manager.add_command('db', MigrateCommand)

在命令行中执行:

python manager.py db init  #创建迁移仓库
python manager.py db migrate "对这次迁移的说明"  #生成迁移文件
python manager.py db upgrade  # 将迁移文件映射的数据库中,最终改变数据库结构
python manager.py db history #查看迁移历史
python manager.py db downgrade  base  #返回base时数据库结构

在这里插入图片描述

用命令对数据库内容进行查询和添加

from flask_migrate import  Migrate, MigrateCommand
from flask_script import  Shell, Manager
from models import app, db, User, Department
# 用来管理命令的对象, Manager用来跟踪所有名林不过并处理他们如何从命令行调用;
manager = Manager(app)
migrate = Migrate(app, db)
# 添加一条数据库迁移管理的命令
manager.add_command('db', MigrateCommand)

#  添加一条命令, 可以显示所有的用户
@manager.command
def showUser():
    """显示所有的用户"""
    users = User.query.all()
    print(users[:5])

#  添加一条命令, 可以显示所有的用户
@manager.command
def showDepart():
    """显示所有的部门"""
    deaprts  = Department.query.all()
    print(deaprts)

 # 添加部门
@manager.option('-n', '--name', help="部门名称")
def add_depart(name):
    try:
        depart1 = Department(name=name)
        db.session.add(depart1)
        db.session.commit()
    except Exception:
        print("创建部门失败!")
    else:
        print("创建部门%s成功!" %(name))
   
  if __name__ == "__main__":
    # 准备
    manager.run()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值