mcpField
D
database-migration-management

database-migration-management

github.com/aj-geddes数据与数据库373501 次安装34 周前更新
代码仓库

关于 database-migration-management

用于管理数据库结构和数据迁移的技能,涵盖版本控制、回滚能力及生产部署模式,并提供结构变更、索引和数据转换指南。

主要功能

  1. 01数据库结构版本控制
  2. 02回滚规划与执行
  3. 03数据转换指南
  4. 04索引创建与优化
  5. 05迁移测试与验证

适用场景

  1. 01管理数据库结构变更版本
  2. 02为迁移制定回滚方案
  3. 03转换或清理现有数据
  4. 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.md
creating-indexes-non-blocking.md
data-transformations.md
renaming-columns.md
table-structure-changes.md
scripts/
validate-schema.sh
templates/
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