跳转到主要内容

未提供项目描述

项目描述

guillotina_evolution

Build Status PyPI version Codcov

提供evolutions/migrations的插件,用于在Guillotina容器中创建或更新对象。

安装

pip install guillotina_evolution

配置

app_settings中添加以下值

app_settings = {
    "applications": [
        "guillotina_evolution",
    ],
    "commands": {
        "g-evolve": "guillotina_evolution.commands.evolve.EvolveCommand",
    },

配置您的应用插件,在安装时初始化guillotina_evolution

from guillotina.component import get_utility
from guillotina_evolution.interfaces import IEvolutionUtility

@configure.addon(name="app", title="Your guillotina app")
class ManageAddon(Addon):
    @classmethod
    async def install(cls, container, request):
        utility = get_utility(IEvolutionUtility)
        utility.install()  # initialize current generation with the greatest registered generation

        # ...

编写您的evolver

在您的guillotina应用中创建一个名为evolutions的文件夹,其中包含以下文件

app/evolutions/__init__.py

from .r20190118 import *  # noqa
# Don't forget to add all rXXXXXXXX.py!

app/evolutions/r20190118.py

from guillotina_evolution.utils import register_evolution

@register_evolution(1)
async def evolver(container):
    async for item in container.async_items():
        item.title = item.title + ' (Migrated)'
        item.register()

更新您的应用中的includeme()

app/__init__.py

def includeme(root):
    # ...
    configure.scan("app.evolutions")

进化

运行guillotina命令g-evolve以运行您的迁移。

g -c config.yaml g-evolve

项目详情


下载文件

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

源分发

guillotina_evolution-1.1.2.tar.gz (17.0 kB 查看哈希值)

上传于

由...