用途:提供安全数据库架构迁移的模式与最佳实践,适用于创建迁移、实现零停机架构变更、迁移版本控制等场景。
主要能力:给出 Alembic 迁移文件结构与模板(upgrade/downgrade);零停机模式,包括扩展-收缩(先加可空列、回填、再改非空并删旧列)、安全列重命名(加新列+触发器同步+回填+清理)、并发建索引 CREATE INDEX CONCURRENTLY、分步添加 NOT NULL 约束;大表批量回填(FOR UPDATE SKIP LOCKED 分批提交);数据迁移与架构迁移分离;外键安全添加(先加列、回填、NOT VALID 加约束、后台 VALIDATE);CI/CD 校验(alembic check、alembic upgrade head --sql、检测 op.drop);回滚策略(实现 downgrade、用重命名代替删除保留数据);迁移测试(升级到 head、降级到 base、逐个 revision 可逆性测试)。
使用方式:按资料中的目录结构组织 migrations/versions、alembic.ini、env.py;在迁移脚本中实现 upgrade() 与 downgrade();部署时运行 alembic upgrade head,校验用 alembic check。
适用场景:PostgreSQL 等关系型数据库的架构演进、在线服务零停机发布、大表数据回填。
限制:资料未提供具体版本要求、性能基准或收费信息;部分模式(如 CONCURRENTLY、NOT VALID)为 PostgreSQL 特性,其他数据库需自行确认支持情况。