SuperAPI AI 工具集

managing-database-migrations

数据与分析

查看项目

更新于 10-16 06:20

技能介绍

用途:管理数据库结构迁移(schema migration),在 PostgreSQL、MySQL、MongoDB 上创建、校验和执行迁移,并提供完整回滚支持。

主要能力:生成版本化迁移文件(含 UP 与 DOWN);为可空列、回填脚本、NOT NULL 约束提供安全写法;on staging 验证 UP/DOWN 与幂等;用 expand-contract 模式实现零停机迁移;大数据表(>1000 万行)可用 pg_repack、pt-online-schema-change、gh-ost;输出迁移文件、预检脚本、回填脚本、回滚 runbook、变更日志。

必要用法:需要具备 DDL 权限的数据库凭据、已安装配置的迁移框架、迁移文件版本控制(Git)、与生产结构一致的 staging 库、psql 或 mysql CLI。开始前先抓取当前结构基线,例如 pg_dump --schema-only -f schema_before.sql 或 mysqldump --no-data > schema_before.sql。生成迁移示例:Flyway 用 V20240115_001__add_status_column_to_orders.sql;Alembic 用 alembic revision --autogenerate -m "add status column to orders";Prisma 编辑 schema.prisma 后执行 npx prisma migrate dev --name add_status_to_orders;Knex 用 npx knex migrate:make add_status_to_orders。

适用场景:新增/删除/修改列、改约束与索引、拆分表、重命名列、批量回填等结构变更。

限制与注意:破坏性变更需数据迁移;锁超时可设 lock_timeout = '5s';含依赖视图的列需先处理视图;NOT NULL 前须先回填;版本冲突建议用时间戳版本号;UP 之后若插入新数据,回滚可能丢数据。可用资源包括 Flyway、Alembic、Prisma Migrate、pg_repack、gh-ost 的官方文档。其余收费、平台价格等信息暂未提供。