2Style4You 升级框架
项目描述
此包实现了用于Python应用程序的非常基础的升级框架。其设计由三个部分组成
上下文提供者,负责设置升级步骤所需的上下文。例如建立与SQL服务器的连接或配置SQLAlchemy。
升级步骤,是执行实际升级步骤的函数。
一个 命令行工具 来运行 升级步骤 和所需的 上下文提供者。
为了保持框架的简洁,有一些功能是故意不支持的
不进行环境版本控制;工具将始终运行所有升级步骤。每个步骤都必须支持多次运行而不会出现意外结果。
不支持降级。
升级步骤之间的依赖关系不受支持。
以下是一个基本的上下文提供者,用于配置SQLAlchemy
@upgrade_context('sql') def setup_sqlalchemy(options): engine = create_engine('postgresql:///projectA') return {'sql-engine': engine}
以下是一个示例升级步骤,用于向使用SQLAlchemy的项目添加缺失的表和索引
@upgrade_step(require=['sql']) def add_missing_tables(environment): meta.metadata.create_all(environment['sql-engline'])
以下是运行升级的方式
$ bin/upgrade --scan my.package