fix: PostgreSQL 目标库不存在时 initialize() 自动建库并发布 0.2.1
This commit is contained in:
@@ -65,7 +65,11 @@ Database.from_config({"type": "postgresql", "url": "postgresql://user:pwd@127.0.
|
||||
| 方法 | 签名 | 说明 |
|
||||
| ------------- | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `__init__` | `(db_path=None, url=None)` | 二选一必填,否则抛 `ValueError`;`db_path` 自动创建父目录 |
|
||||
| `initialize` | `(generate_schemas=True, echo=False, **kwargs)` | 创建异步引擎,`SQLModel.metadata.create_all` 自动建表(`generate_schemas=False` 可跳过,交由外部迁移工具),构建 `sessionmaker` |
|
||||
| `initialize` | `(generate_schemas=True, echo=False, **kwargs)` | 创建异步引擎,`SQLModel.metadata.create_all` 自动建表(`generate_schemas=False` 可跳过,交由外部迁移工具),构建 `sessionmaker` |
|
||||
|
||||
> PostgreSQL:`initialize()` 检测到目标库不存在时(如全新 PG 实例),会以相同凭据连接
|
||||
> `postgres` 维护库自动 `CREATE DATABASE`(多进程并发启动安全),因此无需在部署流程中
|
||||
> 手工建库;要求连接账号具备 `CREATEDB` 权限(默认超级用户 `postgres` 满足)。
|
||||
| `get_session` | `() -> AsyncSession` | 返回新的异步会话;未初始化则抛 `RuntimeError` |
|
||||
| `dispose` | `async () -> None` | 关闭异步引擎并清除内部状态 |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user