codex cli 可根据自然语言生成并执行适配 prisma/knex/alembic 的数据库迁移,需全局安装、项目含对应配置文件,支持环境指定、回滚及 sql 导出审核。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在终端里让 Codex 自动执行数据库迁移脚本,而不是手动写 SQL 或逐条运行命令——Codex CLI 能根据自然语言描述生成适配 Prisma/Knex/Alembic 的迁移文件,并直接应用到本地开发库。
确认 Codex CLI 已安装并可调用
打开终端,执行:codex --version。如果返回类似 v0.12.4 的版本号,说明 CLI 已就绪;若提示 command not found,需先运行 npm install -g @codex/cli 安装。
【必须使用全局安装的 CLI,而非桌面 App 内置终端】 桌面版 Codex 的内置终端不支持迁移命令的完整上下文感知,会跳过 schema diff 和依赖校验。
准备迁移上下文
进入你的项目根目录,确保该目录下存在以下至少一项:prisma/schema.prisma、knexfile.js 或 alembic.ini。Codex CLI 会自动识别 ORM 类型并加载对应解析器。
如果项目中没有这些文件,Codex 无法推断目标数据库结构,会报错退出,不会强行生成通用 SQL。
用自然语言触发迁移
执行命令:codex db migrate "把 users 表增加 email_verified 字段,默认 false"
这一步操作起来很简单,直接把需求写成中文短句就行。Codex 会自动完成:分析当前 schema → 生成差异 → 输出迁移文件(如 prisma/migrations/xxx_add_email_verified/)→ 提示是否应用。
它不会直接执行 prisma migrate dev,而是先让你确认迁移内容。按 y 回车后才真正写入数据库并更新 schema。
处理多环境与回滚
方法一:指定目标环境
加 --env staging 参数,Codex 会读取 .env.staging 中的 DATABASE_URL,并生成适配该环境的迁移语句。
方法二:回滚上一次迁移
执行:codex db rollback --step 1。注意:仅对已成功应用且未被合并进主干的迁移有效;生产环境迁移不可逆,此命令不适用于 --env production。
【回滚前 Codex 会强制要求你输入本次操作的 commit hash】 防止误操作覆盖他人提交的迁移记录。
导出纯 SQL 迁移文件(供 DBA 审核)
第一步:生成迁移但不执行codex db migrate "添加 orders 表,含 user_id、total_amount、status" --dry-run > migration.sql
第二步:检查生成的 SQL 是否符合规范
打开 migration.sql,确认字段类型是否匹配目标数据库(例如 PostgreSQL 的 TEXT vs MySQL 的 VARCHAR(255)),Codex 默认按 Prisma 抽象类型生成,可能需要人工微调。
第三步:由 DBA 手动执行或导入至审核系统
这一步不能跳过——Codex 生成的 SQL 不做权限校验,也不检查外键循环依赖,必须经人工确认后方可上线。











