关于 database-migration-management
用于管理数据库结构和数据迁移的技能,涵盖版本控制、回滚能力及生产部署模式,并提供结构变更、索引和数据转换指南。
主要功能
- 01数据库结构版本控制
- 02回滚规划与执行
- 03数据转换指南
- 04索引创建与优化
- 05迁移测试与验证
适用场景
- 01管理数据库结构变更版本
- 02为迁移制定回滚方案
- 03转换或清理现有数据
- 04在多个环境部署结构变更
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill database-migration-management安装后在 Claude Code 中输入/database-migration-management确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/adding-columns.mdcreating-indexes-non-blocking.mddata-transformations.mdrenaming-columns.mdtable-structure-changes.mdscripts/validate-schema.shtemplates/migration-template.sql详细介绍
数据库迁移管理
目录
概述
构建稳健的数据库迁移系统,支持版本控制、回滚以及数据转换策略。包括迁移框架和生产环境部署模式。
适用场景
- 架构版本控制与演进
- 数据转换与清理
- 添加或删除表和列
- 创建和优化索引
- 迁移测试与验证
- 回滚规划与执行
- 多环境部署
快速入门
最简可用示例:
-- Create migrations tracking table
CREATE TABLE schema_migrations (
version BIGINT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
executed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
duration_ms INTEGER,
checksum VARCHAR(64)
);
-- Create migration log table
CREATE TABLE migration_logs (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
version BIGINT NOT NULL,
status VARCHAR(20) NOT NULL,
error_message TEXT,
rolled_back_at TIMESTAMP,
executed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Function to record migration
CREATE OR REPLACE FUNCTION record_migration(
p_version BIGINT,
p_name VARCHAR,
p_duration_ms INTEGER
) RETURNS void AS $$
// ... (see reference guides for full implementation)
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| 添加列 | 添加列 |
| 重命名列 | 重命名列 |
| 非阻塞地创建索引 | 非阻塞地创建索引 |
| 数据转换 | 数据转换 |
| 表结构变更 | 表结构变更 |
最佳实践
✅ 应该做
- 遵循既定的模式和约定
- 编写清晰、易维护的代码
- 添加适当的文档
- 部署前进行全面测试
❌ 不应该做
- 跳过测试或验证
- 忽略错误处理
- 将配置值硬编码
评论
支持 Markdown