Token导航 LogoToken导航TokenDH.com
mig2schema MCP logo
数据服务stdio官方级别未说明来源级核验

mig2schema MCP

MCP Server

mig2schema是一个从PostgreSQL迁移文件中提取数据库模式的工具,通过运行临时数据库来发现模式,适用于处理包含大量迁移文件的项目。

工具数

2

提示词数

0

GitHub Stars

2

资源数

0
数据库工具PostgreSQLClaude开发工具Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

alc6

提供方

alc6

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

mig2示意图

一个从PostgreSQL迁移文件中提取数据库模式的工具 MCP通过运行临时数据库来发现架构。 当您处理一个包含大量文件的迁移文件夹的项目时,这很有用。

概述

mig2schema 获取一个包含PostgreSQL迁移文件的目录(.up.sql.down.sql)并在运行迁移后提取得到的数据库模式。它使用测试容器启动一个临时PostgreSQL实例,运行迁移,然后提取模式信息。

安装

go build -o mig2schema

用法

信息模式(默认)

显示人类可读的架构信息:

./mig2schema /path/to/migrations

提取模式

输出可用于重新创建架构的SQL CREATE语句:

./mig2schema -e /path/to/migrations
./mig2schema --extract /path/to/migrations

PostgreSQL映像配置

默认情况下,该工具使用 postgres:16-alpine.你可以指定一个不同的PostgreSQL Docker镜像:

./mig2schema --pg-image postgres:17-alpine /path/to/migrations
./mig2schema --pg-image pgvector/pgvector:pg16 /path/to/migrations

架构提取提供程序

该工具支持多个提供程序来提取模式:

  • 本地的 (默认):使用SQL查询information_schema的内置提供程序
  • pg_dump:使用PostgreSQL的pg_dump实用程序进行完整的DDL提取
# List available providers
./mig2schema --list-providers

# Use native provider (default)
./mig2schema -p native -e /path/to/migrations

# Use pg_dump provider (requires pg_dump in PATH, only supports extract mode)
./mig2schema -p pg_dump -e /path/to/migrations

备注:pg_dump提供程序仅适用于提取模式(-e)并提供更完整的模式信息,包括外键、序列和所有约束。

迁移文件格式

该工具要求迁移文件遵循命名约定:

  • 001_create_users.up.sql -向上迁移文件
  • 001_create_users.down.sql -向下迁移文件(可选)

文件按文件名的字母顺序执行。

例子

信息模式示例

./mig2schema examples/migrations

# Output:
# === DATABASE SCHEMA ===
# Table: users
# Columns:
#   - id integer NOT NULL (PRIMARY KEY)
#   - email character varying NOT NULL
#   - username character varying NOT NULL
# Indexes:
#   - idx_users_email on (email)
#   - users_email_key on (email) (UNIQUE)

提取模式示例

使用本机提供程序:

./mig2schema -e examples/migrations

# Output:
# create table users (
#     id integer not null default nextval('users_id_seq'::regclass),
#     email varchar(255) not null,
#     username varchar(255) not null,
#     primary key (id)
# );
# 
# create index idx_users_email on users (email);
# create unique index users_email_key on users (email);

使用pg_dump提供程序(更完整的输出):

./mig2schema -p pg_dump -e examples/migrations

# Output includes:
# - Complete CREATE TABLE statements
# - ALTER TABLE statements for sequences
# - Foreign key constraints
# - All indexes with proper syntax
# - Default values and constraints

需求

  • Docker(用于测试容器)
  • 转到1.24.2+
  • PostgreSQL客户端工具(可选,pg_dump提供程序需要)

使用Claude代码

此工具可用作Claude Code中的MCP(模型上下文协议)服务器:

claude mcp add mig2schema -- {path}/mig2schema --mcp

哪里 {path} 是mig2schema二进制文件的完整路径(例如。, /Users/username/go/bin/mig2schema).

添加后,Claude Code可以使用以下工具:

提取模式

使用pg_dump从迁移文件中提取数据库模式,以获得完整的DDL输出。

参数:

  • migration_directory (必需):包含迁移文件的目录路径
  • format (可选):输出格式-“sql”(默认且唯一选项)
  • postgres_image (可选):要使用的PostgreSQL Docker镜像(默认:“postgres:16-alpine”)

Claude Code中的示例用法:

Use the extract_schema tool with migration_directory="./migrations"

备注:MCP模式始终使用pg_dump提供程序并输出SQLDDL,以实现最完整、最准确的模式提取,包括外键、序列和所有约束。

validate_migrations

验证迁移文件而不运行它们。

参数:

  • migration_directory (必需):包含迁移文件的目录路径
  • postgres_image (可选):要使用的PostgreSQL Docker镜像(默认:“postgres:16-alpine”)

目录标签

目录标签

数据库工具PostgreSQLClaude开发工具Go本地部署迁移文件解析模式提取

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP