承接 hashtagcms/migration-tool 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hashtagcms/migration-tool

Composer 安装命令:

composer require hashtagcms/migration-tool

包简介

A production-grade, asynchronous migration tool for HashtagCMS to migrate data, media, and templates between installations.

README 文档

README

PHP Version Laravel License Package

Migration Tool

A production-grade, asynchronous database, media, and template migration tool for HashtagCMS. Move a complete CMS site — including all data layers, translations, media files, and relational graph — from a source database to a target installation with a beautiful guided wizard UI.

✨ Feature Highlights

Feature Status
7-Step ETL Pipeline (Context → Structural → Glue → Content → Media → Validation)
Legacy terminology support (Auto-detect tenants vs platforms)
Smart Template Migration (with automated namespace refactoring)
Pre-migration Package Audit (Detect missing composer dependencies)
Artisan CLI Interface (cms:migrate-site & cms:migrate-templates)
ID Mapping Engine (old_id → new_id across connections)
Asynchronous Background Job Processing & Progress Monitoring
Auto-run one queue job on dispatch (queue:work --once)
Scale-ready Performance (Chunked data processing for large sites)
Conflict Resolution: Terminate / Overwrite / Rename
Media & Asset File Synchronization
Automated Post-Migration Integrity Validation
Staff-only access guard at controller level (user_type = Staff)
Auto-create missing target tables from source schema (with permission checks)

📋 Requirements

  • PHP ^8.2
  • Laravel 10.x, 11.x, or 12.x
  • HashtagCMS core package hashtagcms/hashtagcms
  • A queue driver configured (e.g., database, redis, sqs)

🚀 Installation

  1. Require the package via Composer:
composer require hashtagcms/migration-tool
  1. Publish configuration and run migrations:
php artisan vendor:publish --tag="migration-tool-config"
php artisan migrate
  1. Run your queue worker (recommended for sustained migrations):
php artisan queue:work
If `auto_queue_work_once` is enabled in config (default), each migration dispatch can auto-start a one-shot worker process.

💻 Usage

📊 Migration Wizard (UI)

Open the Migration Wizard in your browser for a guided experience: https://your-app.com/cms-migration

  • Discovery Phase: Automatically identifies site statistics and warns about missing composer packages found in the source project.
  • Template Sync: Independently migrate your theme and module blade files with real-time namespace refactoring (MarghoobSuleman\HashtagCmsHashtagCms).

⌨️ Artisan Commands (CLI)

1. Full Data Migration

php artisan cms:migrate-site {site_id} \
    --database="source_db" \
    --username="root" \
    --password="password" \
    --media --source-root="/var/www/old-site"

2. Standalone Template Migration

php artisan cms:migrate-templates {site_id} "/absolute/path/to/source"

🧠 Smart Migration Features

🔄 Legacy Compatibility

The tool automatically detects if the source database uses the older tenants and tenant_id terminology. It transparently maps these to the modern platforms and platform_id structure in HashtagCMS V2+.

📝 Code Refactoring

During template migration, the tool processes all .php and .blade.php files. It automatically bridges the gap between legacy and modern namespaces:

  • MarghoobSuleman\HashtagCms $\rightarrow$ HashtagCms

📦 Dependency Audit

Before starting, the tool reads the composer.json of your legacy installation and compares it to your new one. It will provide a ready-to-use composer require command for any missing third-party packages.

📖 Documentation

# Document Description
01 Architecture Overview ETL design, layers, and class structure
02 Installation & Configuration Full setup guide
03 The ETL Pipeline Details on all 7 sync steps
04 Migration Wizard UI How the frontend wizard works
05 API Reference All backend endpoints
06 Conflict Resolution Domain & data conflict strategies
07 Media Migration File sync and path handling
08 Queue & Async Jobs Background job and progress tracking
09 ID Mapping Engine How foreign keys are re-mapped
10 Security CSRF, session, and connection safety
11 Template Migration Standalone file/namespace syncing
12 Legacy & Dependency Support Terminology and package audit
13 Regression Smoke Checks Validate recent migration bug fixes

🤝 Contributing

See CONTRIBUTING.md for guidelines.

📄 License

MIT © Marghoob Suleman

hashtagcms/migration-tool 适用场景与选型建议

hashtagcms/migration-tool 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 29 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「cms」 「synchronization」 「migration」 「laravel」 「data-transfer」 「HashtagCms」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 hashtagcms/migration-tool 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 hashtagcms/migration-tool 我们能提供哪些服务?
定制开发 / 二次开发

基于 hashtagcms/migration-tool 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 31
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-29