Skip to main content

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

项目描述

构建状态

链接迁移

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

这个库的主要灵感来自 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)

链接迁移使用版本信息来跟踪迁移模式并决定脚本的执行顺序。链接迁移将遍历您目录中的所有 .py 文件并执行所有这些文件的版本顺序。

迁移到特定版本

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

$ link-migration --to=57

如果您没有指定任何版本,使用 --up 或 --down,Link Migration 会将架构迁移到配置文件中指定的迁移目录中可用的最新版本。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

link_migration-0.0.21.tar.gz (11.5 kB 查看哈希

已上传 source

内置分布

link_migration-0.0.21-py3-none-any.whl (17.1 kB 查看哈希

已上传 py3