2style4you升级框架

s4u.upgrade的Python项目详细描述


这个包实现了一个在python中使用的非常小的升级框架 应用。它的设计由三部分组成:

  1. context providers,负责设置上下文 升级步骤所必需的。例如,建立到 一个sql服务器或配置sqlalchemy。
  2. 升级步骤,它们是执行实际升级的函数 台阶。
  3. 一个命令行工具来运行升级步骤和所需的上下文 提供者

为了使框架保持最小,有一些事情是 故意不支持:

  • 没有对环境进行版本控制;该工具将始终运行所有 所有升级步骤。每个步骤必须支持多次运行 没有意外的结果。
  • 不支持降级。
  • 不支持升级步骤之间的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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JAVA中的HTTP POST请求,有效负载为json文件   groovy中的java匿名内部类   udp Java执行crc检查(用字节数组除以字节数组)   java如何重构代码以删除if语句?   java从getView中的onClickListener内部更新ArrayAdapter   java JTable删除所有行异常   entityManagerFactory未命名为“entityManagerFactory”时的java   java春季休息。消除HTTP上的json属性。邮递   使用iText 5.5.7在由于分页符而拆分表时添加java空白页   SpringJPA:映射java。util。映射到单个表   java错误:找不到适合ArrayAdapter的构造函数(activity、int、int、string)   java链表反向   java如何制作类。forName返回数组类型?   java JFrame组件未出现   java如何向服务器发送ACK/NACK   如何保持Java模型独立于JPA实体,同时避免代码重复   java为什么每当我更新FireBase中的字段时,我的RecyerView都会创建新条目?   java使精灵平稳旋转