Django Migrations

Django Migrations

🚀 Django 迁移 MCP 服务

Django 迁移 MCP(Migration Control Panel)服务是一款专门用于管理 Django 项目数据库迁移的工具。它借助完整的 API 和控制台界面,极大地简化了数据库迁移流程,为开发者提供了便捷高效的迁移管理体验。

🚀 快速开始

Django 迁移 MCP 服务提供了完整的 API 和控制台界面,可帮助你轻松管理 Django 项目的数据库迁移。你可以按照以下步骤进行操作:

  1. 安装服务。
  2. 配置 Django 项目。
  3. 通过命令行工具或 API 执行迁移操作。

✨ 主要特性

  • 统一的控制面板:借助简单的 HTTP 接口,即可管理所有迁移操作。
  • 自动化流程:自动检测未应用的迁移并执行,节省时间和精力。
  • 日志记录与跟踪:详细记录每一步操作和结果,方便调试和审计。
  • 可扩展性:支持自定义命令和插件,满足多样化需求。

📦 安装指南

开发环境

# 克隆仓库
git clone git@github.com:your-repository.git
cd django-migration-mcp

# 创建虚拟环境并安装依赖
python -m venv env
source env/bin/activate  # 在 Windows 上使用 .\env\Scripts\activate
pip install -r requirements.txt

生产环境

# 安装服务(假设已克隆仓库)
sudo systemctl enable simple_http_server
sudo systemctl start simple_http_server

💻 使用示例

基础用法

Django 项目配置

在 Django 项目的 settings.py 中添加以下配置:

MIGRATION_MCP_ENABLED = True
MIGRATION_MCP_URL = 'http://localhost:8000'  # 根据实际情况修改

命令行工具

可以通过命令行直接使用 MCP 服务:

# 查看帮助信息
python manage.py migration_mcp --help

# 执行所有未应用的迁移
python manage.py migrate_all

# 指定应用执行迁移
python manage.py migrate app_name

# 回滚最后一次迁移
python manage.py rollback

# 显示当前数据库状态
python manage.py show_migrations

高级用法

API 文档

请求格式

所有请求都需要通过 POST 方式发送到 /mcp 端点,并包含一个 JSON 格式的正文:

{
"method": "方法名",
"params": {
"参数1":,
"参数2":}
}
具体接口
  1. 列出所有迁移

    curl -X POST http://localhost:8000/mcp \
    -H "Content-Type: application/json" \
    -d '{"method": "list_migrations"}'
    
  2. 执行指定应用的迁移

    curl -X POST http://localhost:8000/mcp \
    -H "Content-Type: application/json" \
    -d '{"method": "migrate", "params": {"app": "your_app"}}'
    
  3. 回滚指定应用的迁移

    curl -X POST http://localhost:8000/mcp \
    -H "Content-Type: application/json" \
    -d '{"method": "rollback", "params": {"app": "your_app"}}'
    

📚 详细文档

高级功能

Redis 集成

通过集成 Redis,可以实现更高效的迁移管理和状态跟踪。

日志系统

内置的日志记录模块可以帮助开发者快速定位问题。日志文件默认保存在 mcp_logs/ 目录下。

安全措施

  • 认证:支持基本认证和 Token 认证。
  • 权限控制:可以根据不同的用户设置不同的操作权限。

Docker 使用指南

快速启动

docker run -d --name django-migration-mcp \
-e DJANGO_SETTINGS_MODULE=your_project.settings \
-p 8000:8000 \
your-django-mcp-image

进入交互式环境

docker exec -it django-migration-mcp /bin/bash

网络配置

创建网络

docker network create mcp-network

连接网络

docker network connect mcp-network your-container-name

监控与维护

日志监控

docker logs -f django-migration-mcp

自动重启策略

在启动命令中添加重启策略:

docker run --restart unless-stopped ...

FAQ

  1. 如何处理迁移冲突?
    • settings.py 中启用冲突检测功能。
  2. 如何批量执行多个应用的迁移?
    • 使用 migrate_all 命令或通过 API 批量调用。
  3. 如何查看迁移历史?
    • 使用 show_migrations 命令或查询日志文件。

🔧 技术细节

本项目基于 Django 框架开发,利用其强大的数据库迁移功能和 Web 开发能力。通过 HTTP 接口和命令行工具,实现了对数据库迁移的统一管理。同时,借助 Redis 实现高效的状态跟踪,通过日志系统记录详细的操作信息,确保系统的稳定性和可维护性。

🤝 贡献指南

欢迎社区贡献代码和文档!请 Fork 仓库并在 Pull Request 中注明你的修改内容。

📄 许可证

本项目遵循 MIT 协议。

  • 0 关注
  • 0 收藏,13 浏览
  • system 提出于 2025-09-23 19:27

相似服务问题

相关AI产品