将Alembic与Flask集成。
项目描述
Flask-Alembic
Flask-Alembic是一个Flask扩展,它提供了一个可配置的Alembic数据库迁移环境。支持Flask-SQLAlchemy,Flask-SQLAlchemy-Lite或纯SQLAlchemy。支持Alembic的单数据库和多数据库模板。
Pallets社区生态系统
[!重要]
此项目是Pallets社区生态系统的一部分。Pallets是维护Flask的开源组织;Pallets-Eco使社区能够维护Flask扩展。如果您有兴趣帮助维护此项目,请通过Pallets Discord服务器联系。
基本用法
您已创建了一个Flask应用程序和一些Flask-SQLAlchemy模型。现在开始使用Flask-Alembic
from flask_alembic import Alembic
# Intialize the extension
alembic = Alembic()
alembic.init_app(app)
命令已添加到flask
CLI
$ flask db --help
$ flask db revision "making changes"
$ flask db upgrade
您还可以从Python访问Alembic的功能
with app.app_context():
# Auto-generate a migration
alembic.revision('making changes')
# Upgrade the database
alembic.upgrade()
# Access the internals
environment_context = alembic.env
Alembic的差异
- 配置是从
Flask.config
而不是从alembic.ini
和env.py
获取的。 - 如果可用,则从Flask-SQLAlchemy(-Lite)获取引擎和模型/表元数据,或者可以手动配置。
- 迁移存储在
migrations
文件夹中,而不是versions
文件夹。 - 提供迁移环境,而不是
env.py
,并暴露 Alembic 的内部 API 对象。 - 区分 CLI 命令和 Python 函数。函数返回修订对象,不输出到 stdout。
- 允许在应用程序运行时通过公开的对象和函数在任何 API 级别操作 Alembic。
- 添加了管理独立迁移分支的系统,使与命名分支一起工作更加容易。
- (目前)不支持离线迁移。我不打算在此处进行工作,但对补丁持开放态度。
- (目前)不支持异步引擎。我不打算在此处进行工作,但对补丁持开放态度。
项目详细信息
下载文件
下载您平台上的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。
源分布
flask_alembic-3.1.1.tar.gz (11.9 kB 查看哈希)
构建分布
flask_alembic-3.1.1-py3-none-any.whl (12.1 kB 查看哈希)
关闭
flask_alembic-3.1.1.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 358a0ad8f74e2969273a8d89feaf5842f65cc909064b51fde4b51415790d92f4 |
|
MD5 | 3193749fdba03b4d3abed3d94e4541bc |
|
BLAKE2b-256 | 2f0884d5a3155bef151190bf665bc31389971daf9e82271086439bc8f8d3a7a5 |
关闭
flask_alembic-3.1.1-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1d0cda58518d4332d8563da555bee03107fe2169c7157f61a2e0759d0150209b |
|
MD5 | 3c5555111de737a301d4a7a72bcc1d7d |
|
BLAKE2b-256 | 07329ecc1df856fd6ba96276393d374c8e7592c89bc1e5861c1c66d6a81b68f8 |