[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():将改动删除信息。

 

posted @ 2019-07-18 17:32  行走的DT  阅读(257)  评论(0)    收藏  举报