关于 motherduck-migrate-to-motherduck
用于规划和执行范围明确的 MotherDuck 迁移技能,涵盖源与目标评估、SQL 和模型转换、验证、分阶段切换,以及已验证定义的记录。
主要功能
- 01检查源与目标上下文
- 02选择连接和数据导入路径
- 03盘点 SQL 与类型不兼容项
- 04使用 DuckDB SQL 重建分析模型
- 05验证源数据与目标数据
- 06规划分阶段切换和回滚
适用场景
- 01评估迁移数据库至 MotherDuck
- 02转换分析 SQL 和数据类型
- 03切换前验证迁移结果
- 04记录切换后的目标定义
MCP 相关
可使用活跃的远程或本地 MotherDuck MCP 服务检查相关数据库。没有服务时,则依据提供的架构和明确假设开展规划,不声称已进行实时验证。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ motherduckdb/ agent-skills --skill motherduck-migrate-to-motherduck安装后在 Claude Code 中输入/motherduck-migrate-to-motherduck确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
artifacts/migration_validation_example.pymigration_validation_example.tsreferences/EXECUTION_REFERENCE.mdMIGRATION_PLAYBOOK.mdMIGRATION_VALIDATION.md详细介绍
迁移到 MotherDuck
从这里开始:MotherDuck 服务是否处于活动状态?
使用活动的远程 MotherDuck MCP 服务或本地 MotherDuck 服务,检查范围内的数据库、架构、粒度、键和相关指标。复用已知上下文,并将发现范围限定在请求的工作内;默认不要扫描整个工作区。根据实际数据模型确定结果。
根据请求或活动上下文确定目标。只有当歧义会实质性影响结果时才提问。没有服务时,使用提供的架构和明确的假设进行规划;不要暗示已进行实时验证。
迁移默认策略
- 优先使用 MotherDuck 原生存储
- 扩展现有 PostgreSQL 体系时,
pg_duckdb是干扰最小的路径 - 切换前进行验证
- 在性能调优前,有意识地迁移 SQL 方言和数据类型
- 分阶段切换,而非一次性替换
- 如果源数据库已打包在云存储中,则远程导入 DuckDB 数据库文件(
CREATE DATABASE ... FROM 's3://...') - 如果必须在开发、预发布和生产环境中重建目标环境(数据库、角色、共享和服务账户),则使用 Terraform 定义
- 如果旧数据仓库强制执行行访问策略、列脱敏或安全视图,则在 Shares 上使用安全视图;映射每项策略,并以受影响的使用者身份进行测试
- 在目标模型稳定后,将经过验证的业务定义、联接规则和切换注意事项记录到 Guides 中
工作流
- 检查可用的 MotherDuck 服务,或提供的源和目标上下文。
- 对源系统和目标服务模式进行分类。
- 检查目标端的 MotherDuck 布局(如果可用)。
- 选择连接和数据摄取路径。
- 列出不兼容的 SQL、函数、数据类型和运维假设。
- 使用 DuckDB SQL 重建分析模型。
- 执行源与目标的验证。
- 创建或更新相关的 MotherDuck Guides,使切换后的 Agent 使用经过验证的目标定义。
- 一次切换一个工作负载。
根据请求确定执行方式:回答、审查或规划工作应返回所请求的迁移产物;构建或更改工作只执行请求范围内的迁移部分并进行验证。切换、破坏性源更改或尚未获准的外部写入都必须先获得确认。
当此技能生成原生 DuckDB(md:)连接时,使用 custom_user_agent=agent-skills/2.6.0(harness-<harness>;llm-<llm>) 为其添加标识。如果缺少元数据,则使用 harness-unknown 和 llm-unknown 作为后备值。
输出
对于完整的迁移项目,根据请求酌情涵盖以下内容:
- 目标模式
- 迁移顺序
- 验证计划
- 回滚路径
- 首个切换部分
对于明确要求结构化 JSON 的请求,请阅读输出规范。否则,使用适合所请求交付物的格式。
参考资料
只阅读与任务相关的章节;这些内容仅供参考,并非必须遵循的固定步骤。
references/MIGRATION_PLAYBOOK.md-- 目标模式选择、迁移决策矩阵、DuckLake 方案以及特定源系统问题(Snowflake、Redshift、Postgres、dbt、lakehouse)references/MIGRATION_VALIDATION.md-- 可复制改编的验证 SQL(行数、使用pct_variance的指标、新增/删除/更改记录)和 Python 编排器
示例
仅在运行随附示例或复现其验证时,才阅读执行参考。
相关技能
仅在缺少相应能力时加载相关技能;复用已建立的上下文。
motherduck-connect——为目标系统选择连接路径motherduck-explore——检查目标端的 MotherDuck 工作区motherduck-load-data——批量迁移和原始数据落地模式motherduck-model-data——构建目标分析模型motherduck-query——迁移并验证关键 SQLmotherduck-ducklake——仅在明确要求开放表格式时使用motherduck-manage-guides——保留已验证的目标语义和迁移注意事项