SuperAPI AI 工具集

database-migrations

数据与分析

查看项目

更新于 10-15 20:30

技能介绍

用途:在不破坏生产环境的前提下变更数据库 schema,适用于增删列、修改数据类型、创建索引、数据转换以及零停机部署等场景。核心原则是每次迁移都必须与上一版本代码向后兼容,因为部署期间新旧代码会同时运行。

主要能力:给出安全迁移模式,例如新增列应可空或带默认值,避免直接加 NOT NULL;删除列分两阶段(先停用代码再删库);重命名列分四阶段(加新列并双写、回填数据、改读新列、删旧列)。索引使用 CREATE INDEX CONCURRENTLY 避免锁表;大数据迁移采用分批处理并加延迟,避免压垮数据库。

使用方式:提供 TypeScript 的 MigrationRunner 类与 Python 的 migration_runner.py,均通过 migrations 表记录已应用迁移,支持 run 与 rollback,迁移文件以 -- UP 与 -- DOWN 分隔。附有部署前检查清单与最佳实践,如每次迁移只做一处变更、始终编写 DOWN、用生产数据副本测试、使用事务、迁移期间监控锁。

限制:资料未提供具体安装命令、依赖版本、支持的数据库种类范围及收费信息,暂未提供。