前言#
有关 Alembic 项目的信息。
项目主页#
Alembic 托管在 GitHub 上,网址为 sqlalchemy/alembic,隶属于 SQLAlchemy 组织。
发行版和项目状态可在 Pypi 上获取,网址为 https://pypi.python.org/pypi/alembic。
此文档的最新发布版本应位于 https://alembic.sqlalchemy.org.cn。
安装#
虽然 Alembic 可以系统范围安装,但更常见的是将其安装在 虚拟环境 中,因为它还使用更适合本地安装的库,如 SQLAlchemy 和数据库驱动程序。
以下文档是为项目安装 Alembic 的一种方法;还有很多方法。以下文档仅为尚未选择特定项目设置的用户提供。
要为特定项目构建虚拟环境,我们首先假设系统范围内已安装Python virtualenv。然后
$ cd /path/to/your/project
$ virtualenv .venv
现在有一个 Python 解释器,您可以在 /path/to/your/project/.venv/bin/python
中访问,以及 /path/to/your/project/.venv/bin/pip
中的 pip 安装程序工具。
我们现在按如下方式安装 Alembic
$ /path/to/your/project/.venv/bin/pip install alembic
安装将把 alembic
命令添加到虚拟环境。然后,在该特定虚拟环境中使用 Alembic 的所有操作都将通过使用此命令进行,例如
$ /path/to/your/project/.venv/bin/alembic init alembic
下一步是可选的。如果我们的项目本身有 setup.py
文件,我们也可以在 可编辑模式 下将其安装在本地虚拟环境中
$ /path/to/your/project/.venv/bin/pip install -e .
如果我们不“安装”本地项目,那也没关系;默认 alembic.ini
文件包含一个指令 prepend_sys_path = .
,以便本地路径也在 sys.path
中。这允许我们在该目录中运行 alembic
命令行工具,而无需在该环境中“安装”我们的项目。
作为最后一步,可以使用 virtualenv activate 工具,以便在当前 shell 的上下文中使用 alembic
命令,而无需任何路径信息
$ source /path/to/your/project/.venv/bin/activate
依赖项#
除了其他依赖项之外,Alembic 的安装过程将确保安装 SQLAlchemy。Alembic 将与 1.3.0 版本及更高版本的 SQLAlchemy 协同工作。
在 1.5.0 版本中更改:不再支持低于 1.3.0 版本的 SQLAlchemy。
Alembic 支持 3.8 及更高版本 的 Python
在 1.13 版本中更改:Alembic 现在支持 Python 3.8 及更高版本。
版本控制方案#
Alembic 的版本控制方案基于 SQLAlchemy 的版本控制方案。特别是,需要注意的是,虽然 Alembic 使用的是三位数版本控制方案,但它不使用 SemVer。在 SQLAlchemy 和 Alembic 的方案中,中间数字被认为是“重大次要版本”,它可能包括移除以前已弃用的 API,在极少数情况下可能会存在不向后兼容的风险。
这意味着版本“1.8.0”、“1.9.0”、“1.10.0”、“1.11.0”等是重大次要版本,它将包括新的 API 功能,并可能移除或修改现有功能。
因此,在 固定 Alembic 版本时,请固定到“主版本”和“次要版本”数字,以避免 API 更改。
真正的“主版本”版本(例如更改为“2.0”)将包括基础功能的完整重新设计/重新架构;目前尚未计划此类一系列更改,尽管诸如使用新方法替换整个“自动生成”方案之类的更改有资格达到该更改级别。
社区#
Alembic 由 Mike Bayer 开发,并且是 SQLAlchemy 项目的一部分。
用户问题、潜在 bug 和功能的讨论最容易使用 GitHub 讨论 进行讨论。
错误#
Alembic 的错误和功能增强应报告到 GitHub 问题跟踪器。