Flask博客项目-数据库的迁移(五)

前篇回顾:

Flask博客项目-项目的开始(一) 

Flask博客项目-Shell拓展Flask_Script(二) 

Flask博客项目-数据模型的创建(三) 

Flask博客项目-数据模型的扩建(四) 


增加新功能时,通常需要修改数据库结构

所以当数据库更改频繁后,需要把数据库进行迁移和版本记录

使用Flask_Migrate:

pip install flask_migrate

 

然后我们打开manage.py:

from flask_migrate import Migrate, MigrateCommand

from main import app, db, User, Post, Tag

migrate = Migrate(app, db)

manager = Manager(app)
manager.add_command("server", Server())
manager.add_command('db', MigrateCommand)


@manager.shell
def make_shell_context():
    return dict(app=app, db=db, User=User, Post=Post, Tag=Tag)

然后进在shell中进行数据库迁移: 

这个命令会让Alembic扫描我们所有的SQLAlchemy对象,找到再次之前没有被记录过的所有表和列

(-m 参数是为了保存提交信息)

此后,所有的迁移记录文件都被保存在migrations/versions文件夹中


此后,把迁移记录应用到数据库上,并改变数据库的结构时,使用:

python manage.py db upgrade


返回以前的版本,则可以根据history命令找到版本号,然后传给downgrade命令:

python manage.py db history

python manage.py db downgrade (版本号)


猜你喜欢

转载自blog.csdn.net/weixin_41836765/article/details/83996513