sqlor/aidocs/aiopostgresqlor.md
2025-10-05 11:24:24 +08:00

2.6 KiB
Raw Blame History

AioPostgresqlor 技术文档

# `AioPostgresqlor` 类文档

## 概述

`AioPostgresqlor` 是一个基于异步 PostgreSQL 驱动的数据库操作类,继承自 `PostgreSQLor` 基类。该类专为使用 `aiopg` 异步驱动设计,用于支持异步上下文中的数据库事务管理。

> **注意**:当前实现为占位结构,核心方法尚未完成具体逻辑。

---

## 继承关系

- **父类**: `PostgreSQLor`(来自 `.postgresqlor` 模块)
- **子类**: `AioPostgresqlor`

---

## 方法说明

### `isMe(name) -> bool`

#### 描述
类方法,用于判断传入的驱动名称是否匹配当前类所支持的异步驱动(即 `aiopg`)。

#### 参数
| 参数名 | 类型   | 说明                     |
|--------|--------|--------------------------|
| `name` | `str`  | 数据库驱动的名称字符串。 |

#### 返回值
| 类型      | 说明                                     |
|-----------|------------------------------------------|
| `bool`    | 若 `name == 'aiopg'` 则返回 `True`,否则返回 `False`。 |

#### 示例
```python
if AioPostgresqlor.isMe('aiopg'):
    print("适用于 aiopg 驱动")

commit() -> None

描述

异步方法,用于提交当前数据库事务。目前为空实现(pass),需在子类或后续版本中补充实际逻辑。

⚠️ 警告:调用此方法不会产生任何效果,必须重写以实现真正的事务提交功能。

类型

async def

使用方式(语法示例)

await instance.commit()

注意事项

  • 必须在 async with 或其他异步上下文中调用。
  • 实际行为依赖于底层 aiopg 连接对象的实现,建议覆盖此方法以正确调用 connection.commit() 或等效操作。

设计意图

AioPostgresqlor 的设计目标是:

  • 支持异步 I/O 操作,适配 Python 异步生态(如 asyncio)。
  • 通过 isMe() 方法实现驱动识别,便于工厂模式动态选择数据库操作器。
  • 提供与同步版本 PostgreSQLor 一致的接口契约,保证代码兼容性。

待办事项TODO

  • 实现 commit() 的真实逻辑(调用 aiopg 的事务提交)。
  • 补充 __init__ 或初始化连接的相关方法。
  • 添加对 rollback() 的异步支持。
  • 增加异常处理机制。
  • 提供完整的上下文管理器支持(__aenter__, __aexit__)。

参考


> ✅ 文档生成时间2025-04-05  
> 📦 所属模块:`.postgresqlor` 扩展模块家族