您的位置:首页 > 游戏 > 手游 > 建筑最吃香的专业_优化平台建设公司_百度seo是啥意思_链网

建筑最吃香的专业_优化平台建设公司_百度seo是啥意思_链网

2025/3/10 11:49:41 来源:https://blog.csdn.net/weixin_45550881/article/details/146140760  浏览:    关键词:建筑最吃香的专业_优化平台建设公司_百度seo是啥意思_链网
建筑最吃香的专业_优化平台建设公司_百度seo是啥意思_链网

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_baseBase = 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查看迁移历史

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com