flask-migrate使用

用于数据库迁移,sqlalchemy只能生成和删除表,不能对已经存在的表进行操作。通过flask-migrate可以对已经存在的表字段进行修改

1、安装:依赖于flask-script,所以需要安装它

pip install flask-migrate

2、使用方法

  1)导入

    app和db,分别是flask对象和SQLAlchemy对象

    Migrate和MigrateCommand,前者用于注册,传入app和db对象,后者用于创建命令,用于在控制台执行命令

from flask_demo import create_app, db


from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand

app = create_app()

# runserver 启动
manager = Manager(app)

# 注册migrate, flask app和SQLAlchemy db
Migrate(app, db)
#创建命令 manager.add_command('db', MigrateCommand) if __name__ == '__main__': manager.run() # app.run()

3、创建好models后,执行命令

python manage.py db init   # 只需要执行一次,会创建一个migrations目录
python manage.py db migrate  # 创建或修改表时执行,会生成一条记录
python manage.py db upgrade  # 更新数据库