文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
创建数据库迁移存储库
上一节中创建的模型类定义了此应用程序的初始数据库结构( 元数据 )。 但随着应用的不断增长,很可能会新增、修改或删除数据库结构。 Alembic(Flask-Migrate 使用的迁移框架)将以一种不需要重新创建数据库的方式进行数据库结构的变更。
这是一个看起来相当艰巨的任务,为了实现它,Alembic 维护一个 数据库迁移存储库 ,它是一个存储迁移脚本的目录。 每当对数据库结构进行更改后,都需要向存储库中添加一个包含更改的详细信息的迁移脚本。 当应用这些迁移脚本到数据库时,它们将按照创建的顺序执行。
Flask-Migrate 通过 flask
命令暴露来它的子命令。 你已经看过 flask run
,这是一个 Flask 本身的子命令。 Flask-Migrate 添加了 flask db
子命令来管理与数据库迁移相关的所有事情。 那么让我们通过运行 flask db init
来创建 microblog 的迁移存储库:
(venv) $ flask db init
Creating directory /home/miguel/microblog/migrations ... done
Creating directory /home/miguel/microblog/migrations/versions ... done
Generating /home/miguel/microblog/migrations/alembic.ini ... done
Generating /home/miguel/microblog/migrations/env.py ... done
Generating /home/miguel/microblog/migrations/README ... done
Generating /home/miguel/microblog/migrations/script.py.mako ... done
Please edit configuration/connection/logging settings in
'/home/miguel/microblog/migrations/alembic.ini' before proceeding.
请记住, flask
命令依赖于 FLASK_APP
环境变量来知道 Flask 应用入口在哪里。 对于本应用,正如 第一章 ,你需要设置 FLASK_APP = microblog.py
。
运行迁移初始化命令之后,你会发现一个名为 migrations 的新目录。该目录中包含一个名为 versions 的子目录以及若干文件。从现在起,这些文件就是你项目的一部分了,应该添加到代码版本管理中去。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论