Flask-Script和Flask-Migrate

安装

pip install flask-script
pip install Flask-Migrate

介绍Flask-Script

  1. Flask-Script:作用是通过命令的形式来操作Flask,例如通过命令跑一个开发版本的服务器,设置数据库,定时任务等。
  2. 直接在主manager.py中写命令,在终端只需要执行python manage.py command_name就可以
  3. 如果吧命令集中在一个文件中,终端就需要输入一个父命令,比如pyhton manage.py db init

介绍Flask-Migrate

  1. Flask-Migrate是一个为Flask应用处理SQLAlchemy数据库迁移的扩展,使得可以通过Flask的命令行接口或者Flask-Scripts对数据库进行操作。
  2. 采用db.create_all后期每次修改字段时候,不会自动映射到数据库中,必须删除表,然后从新运行db.create_all才会从新映射。flask-migrate会在每次修改模型后,将修改的东西映射到数据库中。

flask-script使用

from flask_script import Manager
from db_script import DBManager
from app import app

manager = Manager(app)


@manager.command
def runserver():
    print('启动')


# 将数据库相关操作,放在一起
manager.add_command('db', DBManager)

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

Flask-Migrate使用

  1. python manage.py db init:初始化一个迁移脚本的环境,只需要执行一次
  2. python manage.py db migrate:将模型生成迁移文件,只要模型更改,就要执行改命令。
  3. python manage.py db upgrade:将迁移文件真正映射到数据库中。

**注意:**将要映射的数据库模型,导入到manage.py文件中,如果没有导入进去,就不会映射到数据库中中。

from app import app
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from exts import db
from models import DBMigrate # 需要倒入才能映射

# init migrate upgrade
# init 初始化迁移环境
# migrate 模型生成迁移文件
# upgrade 将文件映射到表中
# 模型 -》 迁移文件 -》 映射到表

# flask-script的使用

manager = Manager(app)

# 1.要使用flask-migrate必须绑定app和db
migrate = Migrate(app, db)

# 2.把MigrateCommand(数据库迁移)命令添加打manager
manager.add_command('db', MigrateCommand)

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

在命令面板执行,以下命令

python manage.py db init
python manage.py db migrate
python manage.py db upgrade

一定要注意,要将models中的模型表导入,flask-migrate才可以映射成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值