[Flask]数据库迁移
Flask数据库迁移
迁移框架扩展flask_migrate
pip install flask-migrate
管理器相关扩展flask_script
pip install flask-script
代码:
# 导入管理器相关扩展 from flask_script import Manager # 导入SQLAlchemy扩展迁移框架和迁移命令 from flask_migrate import Migrate, MigrateCommand # 获取实例app app = ... # 实例化管理器对象 manager = Manager(app) # 实例化Migrate对象 Migrate(app, db) # 给管理器添加迁移命令 manager.add_command('db', MigrateCommand) if __name__ == '__main__': # print(app.url_map) manager.run()
迁移命令:
# 初始化(创建迁移仓库) python manage.py db init # 生成迁移文件 python manage.py db migrate -m '迁移信息' # 迁移(将迁移文件映射到数据库) python manage.py db upgrade # 返回之前的版本 # 查看之前版本 python manage.py db history # 返回之前版本 python manage.py db downgrade 版本号
问题:
# 1.1、如果数据库中的alembic_version表中有迁移版本号,自己本地没有该迁移版本,生成迁移文件失败? 解决:删除数据库中的alembic_version表,重新生成迁移文件,进行迁移。 # 1.2、如果还无法正常迁移? 解决:查看迁移文件,注释掉相关信息,再进行迁移。
迁移文件:
- 两个函数:
- upgrade():可以看到迁移中的改动信息。
- downgrade():将改动删除信息。

浙公网安备 33010602011771号