Flask 系列之 Migration
2019-04-10 19:52
113 查看
说明
- 操作系统: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 migrate 和 flask db upgrade 操作即可。
总结
关于 Flask-Migrate 的更多操作,我们可以通过执行 flask db 查看。如下图所示,这里不做过多的解释了。
相关参考
相关文章推荐
- Flask框架项目准备工作---个人笔记之记性不好系列02
- flask系列八之请求方法、g对象和钩子函数
- Flask系列教程(2)——URL和视图
- Flask框架知识系列之一
- flask系列七之cookie和session
- Flask系列教程(3)——Jinja2模板
- flask开发restful api系列(7)-蓝图与项目结构
- Flask框架知识系列之二
- flask开发restful api系列(8)-再谈项目结构
- Flask框架知识系列之二
- flask系列六之模型分文件
- flask系列一之环境搭建包安装
- Flask系列教程(4)——SQLAlchemy数据库
- Flask框架知识系列之三
- flask-admin 快速打造博客 系列一
- Flask系列教程---------------Flask系列教程开发博客功能的github地址
- flask学习系列5—蓝图的使用
- Flask学习系列7.1—Flask前端页面使用
- Flask学习系列7.4—jinja模板继承
- flask系列五之flask_script