93 lines
2.6 KiB
Markdown
93 lines
2.6 KiB
Markdown
# AioPostgresqlor 技术文档
|
||
|
||
```markdown
|
||
# `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`
|
||
|
||
#### 使用方式(语法示例)
|
||
```python
|
||
await instance.commit()
|
||
```
|
||
|
||
#### 注意事项
|
||
- 必须在 `async with` 或其他异步上下文中调用。
|
||
- 实际行为依赖于底层 `aiopg` 连接对象的实现,建议覆盖此方法以正确调用 `connection.commit()` 或等效操作。
|
||
|
||
---
|
||
|
||
## 设计意图
|
||
|
||
`AioPostgresqlor` 的设计目标是:
|
||
- 支持异步 I/O 操作,适配 Python 异步生态(如 `asyncio`)。
|
||
- 通过 `isMe()` 方法实现驱动识别,便于工厂模式动态选择数据库操作器。
|
||
- 提供与同步版本 `PostgreSQLor` 一致的接口契约,保证代码兼容性。
|
||
|
||
---
|
||
|
||
## 待办事项(TODO)
|
||
|
||
- [ ] 实现 `commit()` 的真实逻辑(调用 `aiopg` 的事务提交)。
|
||
- [ ] 补充 `__init__` 或初始化连接的相关方法。
|
||
- [ ] 添加对 `rollback()` 的异步支持。
|
||
- [ ] 增加异常处理机制。
|
||
- [ ] 提供完整的上下文管理器支持(`__aenter__`, `__aexit__`)。
|
||
|
||
---
|
||
|
||
## 参考
|
||
|
||
- [aiopg 官方文档](https://aiopg.readthedocs.io/)
|
||
- 父类 `PostgreSQLor` 的接口定义
|
||
```
|
||
|
||
> ✅ 文档生成时间:2025-04-05
|
||
> 📦 所属模块:`.postgresqlor` 扩展模块家族 |