Python使用alembic实现数据库管理

python使用alembic实现数据库管理

环境准备

  1. 安装依赖:
pip install sqlalchemy alembic
  1. 项目结构
    my_project/
    ├── models.py # 定义数据模型
    └── alembic/ # 迁移脚本目录(自动生成)

使用步骤:

1. 初始化Alembic环境

在终端切换到项目目录下,运行以下命令初始化

alembic init alembic

运行后的文件结构:
alembic/
├── versions/ # 存放迁移脚本
├── env.py # 迁移环境配置
└── script.py.mako # 迁移脚本模板
alembic.ini # 主配置文件
models.py

2. 配置数据库连接

修改alembic.ini文件,设置数据库连接,找到sqlalchemy.url进行配置:

# 模板:
sqlalchemy.url = mysql+驱动名称://用户名:密码@主机地址:端口/数据库名?charset=utf8mb4  # 使用mysql示例

3. 定义数据模型

在models.py中编写sqlalchemy模型:

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):
    __tablename__ = "users"
    id = Column(Integer, primary_key=True)
    name = Column(String(50))
    email = Column(String(100))

4.修改alembic/env.py 引入模型

找到alembic/env.py文件,引入models.py文件,具体修改如下:
修改前:

target_metadata = None

修改后:

from models import Base  # 从你的模型文件导入 Base
target_metadata = Base.metadata

5. 生成迁移脚本

  1. 生成迁移脚本
# 首次使用
alembic revision -m "create users table"
# 非首次使用
alembic revision --autogenerate -m "create users table"

6. 数据库迁移

运行迁移更新数据库:

alembic upgrade head

7. 回滚迁移

回滚到上一个版本:

alembic downgrade -1

指定版本号回滚:

alembic downgrade <version_id>

8.常见命令汇总:

命令作用
alembic init alembic初始化迁移环境
alembic revision --autogenerate -m "msg"生成自动迁移脚本
alembic downgrade -1回滚到上一个版本
alembic upgrade head应用最新迁移
alembic history查看迁移历史
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值