大家好,欢迎来到IT知识分享网。
Flask-Migrate
Flask-Migrate 是一个扩展,他是Alembic的进一步封装,以更好的适配Flask和Flask-SQLAlchemy 应用程序。 就实际的数据库迁移而言,所有内容都由Alembic处理,因此您可以获得完全相同的功能。
Alembic 是一款轻量型的数据库迁移工具,它与 SQLAlchemy 一起共同为 Python 提供数据库管理与迁移支持。
安装Flask-Migrate
pip install Flask-Migrate
配置Flask-Migrate
1、首先在工厂函数所在文件中引入
- 路径:RealProject/init.py
from flask_migrate import Migrate migrate = Migrate()
2、在工厂函数中注册, 最终
def create_app(test_config=None): app = Flask(__name__, instance_relative_config=True) # 省略部分代码... db.init_app(app) # 注册migrate migrate.init_app(app, db) # 省略部分代码... return app
最后,完整的工厂函数如下
def create_app(test_config=None): app = Flask(__name__, instance_relative_config=True) if test_config is None: CONFIG_PATH = BASE_DIR / 'RealProject/settings.py' app.config.from_pyfile(CONFIG_PATH, silent=True) else: # test_config为一个字典 app.config.from_mapping(test_config) db.init_app(app) migrate.init_app(app, db) # 递归创建目录,确保项目文件存在 try: os.makedirs(app.instance_path) except OSError: pass # 注册视图 from app.blog import views as blog app.register_blueprint(blog.bp) # 注册模型 from app.blog import models return app
使用Flask-Migrate
在上一节最后我们说过,需要导出项目的环境变量,才能使用flask的命令,因此在执行以下操作之前,记得先导出环境变量哦!
在此之前,我们已经创建好了一个博客的分类模型,并且将模型数据已经在工厂函数中注册!
下来,我们就可以使用以下命令创建迁移存储库:
flask db init
这会将迁移文件夹添加到应用程序中。此时,你可以发现项目目录多了一个migrations的文件夹,下边的versions目录下的文件就是生成的数据库迁移文件!
然后,运行以下命令生成迁移
flask db migrate
做完这两步就完成了第一次的初始迁移操作,我们可以看数据库已经有了我们创建的模型字段!
之后,每次在新增和修改完模型数据之后,只需要执行以下两个命令即可
falsk db migrate flask db upgrade
到这里,基本上我们的项目最基本的配置就已经做完了,后边章节我们将开始真正的业务编写,Flask因其自身的灵活性,大部分的东西都得依靠第三方,所以前期的项目配置以及文件夹结构每个人的理念不同,自然设计出来的结构也是不同的,所以这就非常考验python的基础和能力,因此上,再开始项目之前,我们队python的相关基础知识一定要掌握的比较扎实,做起来才可能会更加轻松!
其他章节
- Flask博客开发实战 – 前言
- Flask博客开发实战 – 配置环境并安装Flask
- Flask博客实战 – 快速上手
- Flask博客实战 – 目录结构
- Flask博客实战 – 工厂函数
- Flask博客实战 – 蓝图应用
- Flask博客实战 – Flask-SQLAlchemy的使用
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/98462.html