Skip to main content

Fastapi 和 Alembic 之间的小集成。

项目描述

Fastapi 迁移

派皮 PyPI - Python 版本 PyPI - 许可证

GitHub 上次提交 GitHub 提交活动 GitHub 问题 GitHub 拉取请求

这个库为 alembic 提供了一个小的包装器。

注意

处于初步开发阶段。这不能是可用于生产的库。

这可能意味着:

  • 可能会引入重大更改
  • 糟糕的文档和变更日志
  • 未完全测试
  • 被迫浏览源代码以了解其工作原理

等待版本 > 0.1.0 以便在生产环境中使用。

安装

您可以使用以下方法安装此库:

pip3 install fastapi-migrations

用法

您可以通过编程方式和 CLI(命令行界面)使用。

想象一下您的项目文件夹

app/
    cli/
        __init__.py
        action.py
    db/
        __init__.py
        base.py
    models/
        __init__.py
        my_model.py
    endpoints/
        __init__.py
        my_endpoint.py
    __init__.py
    config.py
    main.py

这是一个例子main.py

from fastapi import FastAPI
from fastapi_sqlalchemy import DBSessionMiddleware

# Load configs and endpoints
from app.config import settings
from app.endpoints import router

app: FastAPI = FastAPI(title=settings.project_name)

# register routes
app.include_router(router)

# add middlewares
app.add_middleware(DBSessionMiddleware, db_url=settings.database_uri)

if __name__ == '__main__':
    # Load cli commands
    from app.cli import app as cli

    cli()

然后你app/cli/__init__.py可以像:

import typer

from fastapi_migrations.cli import MigrationsCli
import app.cli.action as action

# main cli app
app: typer.Typer = typer.Typer()

# these are our cli actions
app.add_typer(action.app, name='action', help='Common actions the app do')

# this line adds the fastapi-migrations cli commands to our app
app.add_typer(MigrationsCli())

现在您可以从命令行调用您的应用程序并使用fastapi-migrations如下:

py app/main.py db show

如果您想以编程方式使用此库,这是一个示例:

该文件app/cli/action.py可以是:

import typer
from fastapi_migrations import MigrationsConfig, Migrations

app: typer.Typer = typer.Typer()

@app.command()
def show() -> None:
    config = MigrationsConfig()

    migrations = Migrations(config)

    migrations.show()

您可以将此行添加到项目中您希望的位置。在这里,我们将它添加到命令行,这样我们就可以像这样调用我们的应用程序:

py app/main.py action show

执照

该软件在MIT 许可下分发。

下载文件

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

源分布

fastapi-migrations-0.0.5.tar.gz (9.6 kB 查看哈希

已上传 source

内置分布

fastapi_migrations-0.0.5-py3-none-any.whl (8.7 kB 查看哈希

已上传 py3