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第三方库


热门话题
Docker&SeleniumJava:无法在Docker容器上运行的chrome浏览器中上载图像/文件   在python中运行java命令   Java垃圾收集器异常行为   java java是否根据底层操作系统执行字节码级优化?   java是否可以休眠自定义查询返回映射而不是列表?   java Spring引导RabbitMQ接收器Jackson反序列化到POJO   apache flex在ActionScript3中创建对象相等“HashMap”作为java HashMap   java如何在Eclipse集成中切换JProfiler启动器   缓存JSP页面结果的java最佳实践?   java集成jaxb绑定文件,使用CXF生成基于WSDL的客户端   java为什么在上传操作结束之前,客户端没有检测到HttpServletResponse的PrintWriter内容?   java在接口内创建类和在类内创建接口有什么用   java向文件写入错误Android Studio   java合并多个RealmList并对结果列表排序?   谷歌API视觉java。lang.NoSuchMethodError   java如何使用逗号分别存储每个值,然后将它们存储到单独的数组中?