mirror of
https://github.com/PaiGramTeam/PaiGramDocs.git
synced 2024-11-26 10:16:32 +00:00
45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
---
|
||
contributors: ["karakoo"]
|
||
---
|
||
|
||
# SQLModel 和 Alembic 管理数据库
|
||
|
||
在我们的项目中,我们使用 Python 的 SQLModel 和 Alembic 来管理我们的数据库。
|
||
|
||
## SQLModel
|
||
|
||
SQLModel 是一个库,它允许我们以 Python 类的形式定义我们的数据库模型。这些类可以映射到数据库中的表,并且可以用于创建、查询和操作数据。
|
||
|
||
我们的数据模型保存在 `services/.../models.py` 文件中。
|
||
|
||
例如,一个简单的用户模型可能如下所示:
|
||
|
||
```python
|
||
from sqlmodel import SQLModel, Field
|
||
|
||
class User(SQLModel, table=True):
|
||
id: Optional[int] = Field(default=None, primary_key=True)
|
||
username: str
|
||
email: str
|
||
```
|
||
|
||
## Alembic
|
||
|
||
Alembic 是一个数据库迁移工具,它允许我们管理数据库的版本。通过 Alembic,我们可以跟踪数据库模型的更改,并将这些更改应用到我们的数据库中。
|
||
|
||
使用 Alembic,我们可以创建一个新的迁移,如下所示:
|
||
|
||
```bash
|
||
alembic revision -m "Add user table"
|
||
```
|
||
|
||
然后,我们可以编辑生成的迁移文件,以添加创建用户表的代码。
|
||
|
||
最后,我们可以使用以下命令应用迁移:
|
||
|
||
```bash
|
||
alembic upgrade head
|
||
```
|
||
|
||
通过这种方式,我们可以确保我们的数据库模型和数据库始终保持同步。
|