用途:为 Rails 8 项目编写安全的生产级数据库迁移,目标是零停机部署、可回滚、索引合理、数据完整性有约束。
主要能力:提供安全迁移模式,包括加列、两步添加 NOT NULL、并发建索引、带索引的外键、重命名列、删除列、枚举列、创建单行配置表;给出危险操作规避方法(如避免直接 change_column,改为加新列、回填、删旧列);数据迁移采用 in_batches 分批回填并 sleep 降低负载;索引策略涵盖复合索引、部分索引、唯一索引与外键 ON DELETE 选项;还提供迁移测试(外键索引完整性测试)与回滚测试流程。
使用方式:常用命令为 bin/rails generate migration、bin/rails db:migrate、bin/rails db:rollback、bin/rails db:migrate:status。大表建索引需 disable_ddl_transaction! 配合 algorithm: :concurrently;不可逆操作在 down 中抛出 ActiveRecord::IrreversibleMigration。
适用场景:Rails 8 应用的表结构变更、索引优化、数据回填与生产部署前的迁移审查。
限制:资料仅覆盖 Rails 8 与 ActiveRecord 迁移,未提供其他框架或数据库的适配说明;未提及收费、平台或效果数据。