python中用于迁移的通用工具。

link-migration的Python项目详细描述


Build Status

链路迁移

用于架构和数据迁移的通用工具。

这个库的主要灵感来自alembic、django和hibernate/liquibase。最终目标是允许将轻量级迁移框架部署到任何技术堆栈中。目前,这在很大程度上依赖于用户来实现,但是随着时间的推移,越来越多的集成将添加到默认集。

版本

0.0.12

安装

如果您的系统上有PIP,只需键入:

pip install link-migration

如果您已经有旧版本的链接迁移,并且要升级,请使用:

pip install --upgrade link-migration

使用说明

首先需要定义conf.py文件并指定其位置:link_migration -c "path_to_file/conf.py"

下面是conf.py中定义的最低要求。这里的重要步骤是指定迁移文件夹存在的地方,以便检测它们,并指定在哪里存储和获取执行迁移的版本。

import os
import requests
import json

ROOT_DIR = 'link_migration.example_migrations'
MIGRATIONS_ABS_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__)))
MIGRATIONS_DIR = 'link_migration.example_migrations'


def get_current_version():
    path = "%s/current_version.txt" % MIGRATIONS_ABS_PATH
    with open(path, "r+") as f:
        content = f.read()
    return int(content)


def set_current_version(version):
    path = "%s/current_version.txt" % MIGRATIONS_ABS_PATH
    with open(path, "w") as f:
        content = f.write(f'{version}')
    return int(content)

链接迁移使用version信息跟踪迁移架构并 决定脚本的执行顺序。链接迁移将经历所有.py 目录中的文件并执行所有这些文件的version顺序。

迁移到特定版本

如果需要,可以通过以下方式将数据库架构迁移到特定版本 通知--to(或-t)参数。迁移的属性version 文件将用作唯一标识符:

$ link-migration --to=57

如果不指定任何版本,使用--up或--down,则链接迁移将迁移 迁移目录中可用的最新版本的架构 在配置文件中指定。

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

推荐PyPI第三方库


热门话题
JavaHibernate:如何使用第三个表将属性与条件连接起来   java JMS/REST客户端是作为一个集中的库,还是每个微服务一个?   java在Netbeans中生成重复代码   java处理无法映射到SOA中一个frontendpage的错误   java EditText getText不在按钮中工作单击   java您能阻止WatchService在Windows上锁定文件吗?   java在Hadoop中使用wget?   无活动数据库连接的java部署JEE/JPA应用程序   平台模块应用程序中netbeans缺少java库(netbeans 7.3.1)   java在屏幕上分布一个数据网格,它的所有项目都是可见的   在java中获得约会   if语句是Java中计算最小数的标准方法   在openGL中找不到用于纹理创建的java文件路径   java如何在firebase中运行查询以检索具有当前日期的对象?   java如何更快地加载(库)滑动图像?安卓   java将变量传递给另一个类是否使用同一个类?   在Java中,biginteger尾部递归函数仍在破坏堆栈   java蓝图服务列表:等待所有服务