Fastapi 和 Alembic 之间的小集成。
项目描述
Fastapi 迁移
这个库为 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-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | a3c35cf43b5d827d1edda8c261b105764114e66eab533390a1d4e6ca08cb85f7 |
|
| MD5 | 5bcfe85f5a8c17f0766ab1b3e2667740 |
|
| 布莱克2-256 | e6c02cc5a485910eb982589fad7b59122008dbef4ce319afd01780fd0842c7ef |