wordpress 双语网站wordpress站内搜索插件
2026/1/10 12:28:48 网站建设 项目流程
wordpress 双语网站,wordpress站内搜索插件,做百度移动网站排名软,创业公司用wordpress一、alembic是什么#xff1f;Alembic 是一个用于 Python 数据库迁移和版本控制的工具。它与 SQLAlchemy#xff08;一个流行的 Python ORM 库#xff09;紧密集成#xff0c;共同为 Python 应用程序提供数据库管理和迁移支持。python使用mysql时常用SQLAlchemyAlembic进行…一、alembic是什么Alembic 是一个用于 Python 数据库迁移和版本控制的工具。它与 SQLAlchemy一个流行的 Python ORM 库紧密集成共同为 Python 应用程序提供数据库管理和迁移支持。python使用mysql时常用SQLAlchemyAlembic进行ORM和数据库迁移。二、如何集成到项目中1.安装uv install alembic1.13.0 or pip install alembic1.13.02.进入项目根目录 初始化Alembic2.1 终端执行 alembic init alembic init 初始化命令 alembic 环境名称项目中多出alembic目录alembic.ini: Alembic 的主配置文件。env.py: Alembic 运行时环境的 Python 脚本用于配置 SQLAlchemy 引擎和元数据。script.py.mako: 迁移脚本的模板文件。versions/: 存放所有迁移脚本的目录。图片2.2 配置 alembic.ini指定数据库连接字符串通过环境变量读取 不要硬编码图片2.3 配置 env.py 告诉 Alembic 你的 SQLAlchemy 模型在哪里以便它能够进行自动检测。找到 target_metadata 变量将其指向你的 SQLAlchemy Base.metadata 对象。图片解释一下Base对象是所有模型类的基类你创建的所有模型都要继承Basefrom sqlalchemy.ext.declarative import declarative_baseBase declarative_base()创建Base虽然创建在哪都可以最好放在数据库连接层结构清晰目录结构如下图片2.4 创建SQLAlchemy模型所有模型集成Base对象这样后面执行迁移就会自动检测所有更改的字段图片3.生成第一个迁移脚本要提前安装 pip install pymysql3.1 自动生成终端输入命令 alembic revision --autogenerate -m Create initial tablesalembic revision: 创建一个新的数据库迁移脚本。--autogenerate: 自动检测你的 SQLAlchemy 模型与数据库当前状态的差异并生成相应的升级/降级 SQL 语句。-m Create initial tables: 为这个迁移脚本添加一个描述性消息方便你理解其目的。图片图片检查生成的迁移文件sql命令是否正常 不正常就手动或者找ai修复下3.2 手动生成推荐第一次创建迁移文件 上一次版本号为None后续按照现有的文件格式创建新的迁移即可版本号使用基于时间戳的uuid即可上一个版本的版本号记得填。upgrade对应新的sql操作downgrade操作失败回滚有时候alembic对于修改和删除的字段检测不出来最好就手写迁移脚本4.执行迁移终端命令 alembic upgrade head 检查库中表是否存在图片逻辑流程图初始化 Alembic 项目↓配置 alembic.ini (数据库连接) env.py (加载 ORM 模型, 建立连接)↓定义 SQLAlchemy Base 和 ORM 模型↓ORM 模型发生变化?├─ 是 (模型与数据库结构不一致)│ ↓│ 5. 生成迁移文件 (alembic revision --autogenerate)│ (Alembic 比较 ORM 模型定义 与 MySQL 数据库实际结构)│ ↓│ 6. 人工检查并修改迁移文件 (确保 upgrade/downgrade 逻辑正确)│ ↓│ 7. 执行迁移 (alembic upgrade head)│ (Alembic 读取迁移文件, 更新 MySQL 数据库结构, 并更新 alembic_version 表)│ ↓└─ 否 (模型与数据库结构一致)↓(无需迁移)↓应用程序启动 与更新后的 MySQL 数据库交互三、常用的命令alembic revision --autogenerate -m 描述 自动生成迁移脚本alembic upgrade head 执行最新迁移alembic current 查看当前数据库迁移脚本alembic stamp revision_id 将数据库标记为指定版本不执行迁移alembic history 查看迁移历史

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询