SQLAlchemy 插件

SQLAlchemyPlugin 为在 Litestar 应用程序中使用 SQLAlchemy 提供完整支持。

备注

此插件仅与 SQLAlchemy 2.0+ 兼容。

SQLAlchemyPlugin 结合了 SQLAlchemyInitPluginSQLAlchemySerializationPlugin 的功能,每个插件都在以下部分中详细介绍。因此,本节描述了一个使用 SQLAlchemyPlugin 与 Litestar 应用程序和 SQLite 数据库的完整示例。

或者,跳到 SQLAlchemy 初始化插件SQLAlchemy 序列化插件 以了解有关各个插件的更多信息。

小技巧

您可以通过运行 pip install 'litestar[sqlalchemy]' 将 SQLAlchemy 与 Litestar 一起安装。

示例

定义数据库模型

我们首先定义基础模型类和扩展基础模型的 TodoItem 类。TodoItem 类表示 SQLite 数据库中的待办事项。

设置 API 端点

接下来,我们在根路径 ("/") 设置一个 API 端点,允许将 TodoItem 添加到 SQLite 数据库。

初始化数据库

我们创建一个 init_db 函数,用于在应用程序启动时初始化数据库。

重要

在此示例中,我们在创建数据库之前删除数据库。这样做是为了可重复性,不应在生产环境中这样做。

设置插件和应用程序

最后,我们设置 SQLAlchemy 插件和 Litestar 应用程序。

这将使用插件配置应用程序,为添加项目设置路由处理程序,并指定在应用程序启动时运行 init_db 函数。

运行应用程序

使用以下命令运行应用程序:

$ litestar run

您现在可以通过向 http://localhost:8000 发送 POST 请求来添加待办事项,请求的 JSON 正文应包含待办事项的 "title"

$ curl -X POST -H "Content-Type: application/json" -d '{"title": "Your Todo Title", "done": false}' http://localhost:8000/