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
通过这种方式,我们可以确保我们的数据库模型和数据库始终保持同步。