当前位置: 移动技术网 > IT编程>脚本编程>Python > Flask 系列之 Migration

Flask 系列之 Migration

2019年04月11日  | 移动技术网IT编程  | 我要评论

乐嘉承认有儿女,好麦网,石家庄违规楼盘

说明

  • 操作系统:windows 10
  • python 版本:3.7x
  • 虚拟环境管理器:virtualenv
  • 代码编辑器:vs code

实验目标

通过使用 flask-migrate 实现数据库的迁移操作

实验

安装环境包

pip install flask
pip install flask-sqlalchemy
pip install flask-migrate

使用示例

示例代码如下所示:

import os
from flask import flask
from flask_sqlalchemy import sqlalchemy
from flask_migrate import migrate

basedir = os.path.abspath(os.path.dirname(__file__))

app = flask(__name__)
app.config['sqlalchemy_database_uri'] = 'sqlite:///' + \
    os.path.join(basedir, 'default.sqlite')
app.config['sqlalchemy_track_modifications'] = true

db = sqlalchemy(app)
migrate = migrate(app, db)


class user(db.model):
    id = db.column(db.integer, primary_key=true)
    name = db.column(db.string(128))

然后,打开当前项目的虚拟环境窗口,尝试执行下图操作:

set flask_app=manage.py

# 初始化 migration
flask db init

#执行 migration
flask db migrate -m "initialize"

# 更新 migration(注:如果不执行此步,那么我们的变动则无法同步到数据库)
flask db upgrade

如下图所示:

我们每一次的 migration 都会有对应的编号,这个编号会同样记录到我们的数据库中的 alembic_version 表中。

以后,当我们的数据模型发生修改的话,我们只需要重复上述的 flask db migrateflask db upgrade 操作即可。

总结

关于 flask-migrate 的更多操作,我们可以通过执行 flask db 查看。如下图所示,这里不做过多的解释了。

相关参考

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网