Skip to content

SQLModel 和 Alembic 管理数据库

更新于:几秒前
字数统计:311 字
阅读时长:1 分钟

在我们的项目中,我们使用 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
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"
alembic revision -m "Add user table"

然后,我们可以编辑生成的迁移文件,以添加创建用户表的代码。

最后,我们可以使用以下命令应用迁移:

bash
alembic upgrade head
alembic upgrade head

通过这种方式,我们可以确保我们的数据库模型和数据库始终保持同步。

Contributors

karakoo

Telegram robot, query the official game information.