跳至主要内容

编程创建和撤销一系列提交

项目描述

migrate-code

PyPI - Version PyPI - Python Version


目录

链接

安装

pip install migrate-code

快速入门

在应用升级时,迁移阶段将被转换为提交。`migration.py` 文件应定义一个名为 `Migration` 的变量,可以是 `m` 或 `migration`。

# migration.py

from migrate_code import Migration, get_repo_root

m = Migration("Demonstrate basic usage")

@m.add_stage(1, "Create a new file")
def stage_1():
    (get_repo_root() / "new_file.txt").write_text("Hello world")


@m.add_stage(2, "Create another file")
def stage_2():
    (get_repo_root() / "another_file.txt").write_text("Hello another world")


@m.add_stage("1.1", "Modify the first file")
def stage_1_1():
    (get_repo_root() / "new_file.txt").write_text("Hello world, again")

现在可以轻松创建和重置提交

$ git init
$ git add migration.py
$ git commit -m "Add migration.py"
$ migrate-code log
  ------- (2) Create another file
  ------- (1.1) Modify the first file
  ------- (1) Create a new file
$ migrate-code current
None
$ migrate-code upgrade
Running migration 1: Create a new file
Running migration 1.1: Modify the first file
Running migration 2: Create another file
$ git log --oneline
5041191 (HEAD -> master) Create another file
92012af Modify the first file
d4d0611 Create a new file
78438e2 Add migration.py
$ migrate-code log
* 5041191 (2) Create another file
  92012af (1.1) Modify the first file
  d4d0611 (1) Create a new file
$ migrate-code current
2
$ migrate-code reset
Resetting migration 2: Create another file
Resetting migration 1.1: Modify the first file
Resetting migration 1: Create a new file
$ git log --oneline
78438e2 (HEAD -> master) Add migration.py
$ migrate-code log
  ------- (2) Create another file
  ------- (1.1) Modify the first file
  ------- (1) Create a new file
$ migrate-code upgrade --stage 1.1
Running migration 1: Create a new file
Running migration 1.1: Modify the first file
$ git log --oneline
7b65210 (HEAD -> master) Modify the first file
a7c1027 Create a new file
78438e2 Add migration.py
$ migrate-code log
  ------- (2) Create another file
* 7b65210 (1.1) Modify the first file
  a7c1027 (1) Create a new file

许可

`migrate-code` 在MIT许可下分发。

项目详情


下载文件

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

源代码分发

migrate_code-1.0.0.tar.gz (9.5 kB 查看哈希值)

上传时间: 源代码

构建分发

migrate_code-1.0.0-py3-none-any.whl (9.4 kB 查看哈希值)

上传时间: Python 3

由以下提供支持