Tortoise-ORM Starlette 集成

我们有一个轻量级集成工具 tortoise.contrib.starlette,它具有一个函数 register_tortoise,该函数在启动时设置 Tortoise-ORM,并在关闭时进行清理。

参见 Starlette 示例

参考

tortoise.contrib.starlette.register_tortoise(app, config=None, config_file=None, db_url=None, modules=None, generate_schemas=False)[源代码]

注册 startupshutdown 事件,以便在 Starlette 应用中设置和终止 Tortoise-ORM。

你可以仅使用 configconfig_file(db_url, modules) 中的一个进行配置。

参数:
app

Starlette 应用程序。

config=None

包含配置的字典

示例

{
    'connections': {
        # Dict format for connection
        'default': {
            'engine': 'tortoise.backends.asyncpg',
            'credentials': {
                'host': 'localhost',
                'port': '5432',
                'user': 'tortoise',
                'password': 'qwerty123',
                'database': 'test',
            }
        },
        # Using a DB_URL string
        'default': 'postgres://postgres:qwerty123@localhost:5432/events'
    },
    'apps': {
        'models': {
            'models': ['__main__'],
            # If no default_connection specified, defaults to 'default'
            'default_connection': 'default',
        }
    }
}

config_file=None

指向 .json 或 .yml(如果已安装 PyYAML)文件的路径,其中包含与上述格式相同的配置。

db_url=None

使用 DB_URL 字符串。请参阅 DB_URL

modules=None

key: [list_of_modules] 的字典,其中定义了“应用程序”和应为模型发现的模块。

generate_schemas=False

设为 True 以立即生成架构。仅适用于开发环境或 SQLite :memory: 数据库

引发:

ConfigurationError – 对于任何配置错误

返回类型: