PhoenixKit.Modules.Publishing.Workers.MigrateLegacyStructureWorker (phoenix_kit v1.7.42)
Copy Markdown View SourceOban worker for migrating legacy structure posts to versioned structure.
This worker migrates posts from flat file structure (files in post root) to versioned structure (files in v1/ subdirectory). It processes posts in batches and broadcasts progress updates via PubSub.
Usage
# Enqueue a migration job
MigrateLegacyStructureWorker.enqueue("docs")
# Or with options
MigrateLegacyStructureWorker.enqueue("docs", user_id: 123)Job Arguments
group_slug- The publishing group sluguser_id- User ID for audit trail (optional)
PubSub Events
The worker broadcasts the following events to posts_topic(group_slug):
{:legacy_structure_migration_started, group_slug, total_count}- Migration started{:legacy_structure_migration_progress, group_slug, current, total}- Progress update{:legacy_structure_migration_completed, group_slug, success_count, error_count}- Completed
Summary
Functions
Creates a new migration job.
Options
:user_id- User ID for audit trail
Examples
MigrateLegacyStructureWorker.create_job("docs")
MigrateLegacyStructureWorker.create_job("docs", user_id: 123)
Enqueues a migration job.
See create_job/2 for options.
Examples
{:ok, job} = MigrateLegacyStructureWorker.enqueue("docs")