2style4you升级框架
s4u.upgrade的Python项目详细描述
这个包实现了一个在python中使用的非常小的升级框架 应用。它的设计由三部分组成:
- context providers,负责设置上下文 升级步骤所必需的。例如,建立到 一个sql服务器或配置sqlalchemy。
- 升级步骤,它们是执行实际升级的函数 台阶。
- 一个命令行工具来运行升级步骤和所需的上下文 提供者。
为了使框架保持最小,有一些事情是 故意不支持:
- 没有对环境进行版本控制;该工具将始终运行所有 所有升级步骤。每个步骤必须支持多次运行 没有意外的结果。
- 不支持降级。
- 不支持升级步骤之间的depdenicies。
下面是配置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