name: data-migration description: 安全地规划和执行数据库迁移、数据转换和系统迁移,包括回滚策略和数据完整性验证。用于迁移数据库、转换数据模式、在数据库系统之间移动、实施版本化迁移、处理数据转换、确保数据完整性或规划零停机迁移。
数据迁移 - 安全架构变更
何时使用此技能
- 迁移数据库模式和结构
- 在格式之间转换数据
- 在数据库系统之间移动数据
- 实施版本化数据库迁移
- 处理迁移过程中的数据转换
- 确保数据完整性和验证
- 规划零停机迁移
- 安全地回滚失败的迁移
- 从旧系统迁移
- 实施数据回填策略
- 在暂存环境中测试迁移
- 创建迁移回滚程序
何时使用此技能
- 在模式之间迁移数据,零停机部署。
- 当处理相关任务或功能时
- 在需要此专业知识的开发过程中
使用场景: 在模式之间迁移数据,零停机部署。
过程
- 添加新列
- 向新旧列双重写入
- 回填历史数据
- 将读取切换到新列
- 移除旧列
示例
```sql – 步骤 1: 添加列 ALTER TABLE users ADD COLUMN email_new VARCHAR(255);
– 步骤 2: 回填 UPDATE users SET email_new = email WHERE email_new IS NULL;
– 步骤 3: 交换 ALTER TABLE users DROP COLUMN email; ALTER TABLE users RENAME COLUMN email_new TO email; ```